
<script language="JavaScript" type="text/javascript">

    $( document ).ready(function() {
        // Handler for .ready() called.
        if (top.location == location) {
            $(".escapeMe").remove();
        }

    });

            function breakout_of_frame() {
                if (top.location != location) {
                    //top.location.href = document.location.href;
                    window.open(window.location.href, '_blank');

                }

            }
</script>

<li class="escapeMe">
    <a href="#" onclick="breakout_of_frame()" ><i class="fa fa-sign-out"></i> Pop-out</a>
</li>

