如果它试图逃离框架,如何停止加载网站

时间:2011-07-04 16:00:53

标签: javascript jquery iframe framebusting

所以我知道有很多网站试图打破框架(框架破坏)然后有这整个循环“破坏框架破坏者”和“破坏框架破坏者破坏者”等有没有办法预计一个网站是否会试图突破你的框架?我希望我的程序尝试将网站加载到一个框架中,如果它试图突破,只需放弃尝试并停止加载框架。这是我之前尝试过的:

<iframe id="framed_source" src = "<%= @excerpt.url %>"></iframe>
<script type="text/javascript">
    if ( top === self )
    {
        $(".framed_source").remove();
    }
</script>

不幸的是,即使删除了iframe,它仍会重定向到原始网站?我怎样才能删除框架并放弃尝试加载他们的网站,以免发生重定向?

2 个答案:

答案 0 :(得分:0)

这是一个例子

<div id="pcontent"></div> <!-- Page 1 html -->
<script>
   setInterval(function(){//set interval
       if(!$('iframe').contents().find('#icontent').length)//check if div exists on iframe
          window.location.href= 'blbla.com';//if so redirect
    },100);//end interval
</script>
<iframe> <!-- This is your iframe below is the javascript code should go to page2.html -->
   <div id="icontent"></div>
   <script>
     setInterval(function(){
      if(!top.getElementById('pcontent').length)//check if the div exists on top most window
      window.location.href= 'blbla.com';
     },100);
   </script>
</iframe>

现在:在iframe内部是iframe应该拥有的内容...... [仅限插图]

您还可以查看其他内容,例如,如果内容没有宽度,高度,内部文字和html不匹配等...

答案 1 :(得分:0)

使用此代码将提示用户,如果他希望他可以保留在您的页面中...(我没有尝试过)

<script type="text/javascript">
    window.onbeforeunload=function(e){
       $(".framed_source").remove();
       return 'Please keep here I will remove that buster iframe!';
    }
<script type="text/javascript">