Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何停止加载网站,如果它';It’他正试图逃离一个框架_Javascript_Jquery_Iframe_Framebusting - Fatal编程技术网

Javascript 如何停止加载网站,如果它';It’他正试图逃离一个框架

Javascript 如何停止加载网站,如果它';It’他正试图逃离一个框架,javascript,jquery,iframe,framebusting,Javascript,Jquery,Iframe,Framebusting,所以我知道有很多网站试图打破框架(框架破坏),然后有整个循环的“破坏框架破坏者”和“破坏框架破坏者”等等。有没有一种方法可以预测一个网站是否会尝试打破你的框架?我想让我的程序尝试加载到一个框架的网站,如果它试图爆发,只是放弃尝试,停止加载框架。这是我以前尝试过的: <iframe id="framed_source" src = "<%= @excerpt.url %>"></iframe> <script type="text/javascript"&

所以我知道有很多网站试图打破框架(框架破坏),然后有整个循环的“破坏框架破坏者”和“破坏框架破坏者”等等。有没有一种方法可以预测一个网站是否会尝试打破你的框架?我想让我的程序尝试加载到一个框架的网站,如果它试图爆发,只是放弃尝试,停止加载框架。这是我以前尝试过的:

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

如果(顶部===自身)
{
$(“.framed_source”).remove();
}
不幸的是,即使删除iframe,它仍然会重定向到原始站点?我怎样才能删除框架并放弃加载他们网站的尝试,这样就不会发生重定向呢?

下面是一个例子

<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>

setInterval(函数(){//set interval
if(!$('iframe').contents().find('icontent').length)//检查iframe上是否存在div
window.location.href='blbla.com';//如果是,重定向
},100);//结束间隔
setInterval(函数(){
if(!top.getElementById('pcontent').length)//检查最上面的窗口中是否存在div
window.location.href='blbla.com';
},100);
现在:iframe内部是iframe应该具有的内容。。。[仅图示]


您还可以检查其他内容,例如,如果内容没有宽度、高度、内部文本和html不匹配等。

使用此代码,用户将得到提示,如果他愿意,他可以保留在您的页面中……(我没有尝试过)


window.onbeforeunload=函数(e){
$(“.framed_source”).remove();
return‘请留在这里,我会移除那个buster iframe!’;
}

如果当前窗口(
self
)是最外面的窗口(
top
),那么top-ever===to-self怎么可能?@Val。您能解释一下这个代码应该如何工作吗?我在遵循itI时遇到了一点问题我运行了这段代码,它只是呈现了一个空的iframe和一个空页面--我不明白它意味着什么,也不明白它是如何回答我关于在框架断开之前重定向的问题的,这是一件非常复杂的事情,很难解释……你能解释一下吗?我真的不喜欢使用我不懂的代码。以上是我能描述它的最好方式,我想你正在尝试运行b4你可以走。。。尝试一些更简单的东西,如何处理iFrame,然后是这个。
<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">