Javascript 外部iFrame以某种方式重定向出我的站点,我如何防止这种情况?

Javascript 外部iFrame以某种方式重定向出我的站点,我如何防止这种情况?,javascript,jquery,Javascript,Jquery,外部iFrame如何管理重定向出您的站点 如何防止这种情况 如果没有点击,是否可以监听“重定向请求”并阻止它们 外部iFrame如何管理重定向出您的站点 父级。位置不是只读的 如何防止这种情况 通过不构建不受信任的第三方内容,这些内容不希望被构建。您不需要 这从远古时代起就被称为“框架破坏”(就“网络”而言)。 子框架可以根据需要设置宿主窗口 你唯一能做的事情就是不要把你不信任的位置放在上。IFrame可以到达主体和窗口,因为我们可以看到,使用jqueryUi可以在不同的IFrame之间拖放对象

外部iFrame如何管理重定向出您的站点

如何防止这种情况

如果没有点击,是否可以监听“重定向请求”并阻止它们

外部iFrame如何管理重定向出您的站点

父级。位置
不是只读的

如何防止这种情况

通过不构建不受信任的第三方内容,这些内容不希望被构建。

您不需要

这从远古时代起就被称为“框架破坏”(就“网络”而言)。 子框架可以根据需要设置宿主窗口


你唯一能做的事情就是不要把你不信任的位置放在
上。

IFrame可以到达主体和窗口,因为我们可以看到,使用jqueryUi可以在不同的IFrame之间拖放对象,在这种情况下,外部IFrame可以很容易地 到达主窗口并使其成为window.location.href。我现在很忙,但是 我认为这将在使用原始javascript时起作用。 addEventListener('load',function(){}) 或者位置或其他事件可能起作用,则event.preventDefault()可以停止重定向。但是我还没有试过。[编辑hashchange或类似此事件可以做到这一点,我相信:)

我就是这样做的:

// Listen for unloads
var prevent_bust = 0  
window.onbeforeunload = function() { prevent_bust++ }  
setInterval(function() {  
  if (prevent_bust > 0) {  
    prevent_bust -= 2
    var currentTime = new Date();
    if((currentTime.getTime()-lastClick) > 500) { // If no clicks in the last .5 second don't redirect
        window.top.location = 'http://justwalk.it/stuff/204/foo'
        }
  }  
}, 1)

// Listen for clicks, save time of latest one
var currentTime = new Date().getTime(), lastClick ;
$("body").click(function () {
    var currentTime = new Date();
    lastClick = currentTime.getTime();
    console.log('click time:'+lastClick);
    });

可能是重复的我猜你是想那么做的?我是。我已经用一个点击监听器+半身像破坏者来做了,我会在完善它的时候发布答案。