我正在关注另一个网站。但是他们的页面上有一个javascript函数,我不想在我的页面上执行。这是
if (top.location != location) {
top.location.href = document.location.href; }
我尝试了这个,但它会停止整个页面。
function StopLoading() {
if (!document.all)
{
window.stop();
}
else
{
window.document.execCommand('Stop');
}
}
<iframe id="i_frame" onload="StopLoading()" src="http://website.com/"></iframe>
答案 0 :(得分:2)
由于标准的浏览器安全限制(假设涉及的2个站点位于不同的域),我认为您无法做到这一点。这样做的能力将为相当讨厌的事情开辟可能性。您是否应该首先将这个其他网站放在iframe中?
答案 1 :(得分:0)
正如我在earlier answer of mine中所说,只有当您的服务器能够返回HTTP/1.1 204 No Content
标头时,才能执行此操作。如果你有这种服务器,那么你可以使用这样的代码:
var prevent_bust = 0;
window.onbeforeunload = function (){
prevent_bust++;
};
setInterval(function (){
if (prevent_bust > 0) {
prevent_bust -= 2;
window.top.location = 'http://server-which-responds-with-204.com';
}
}, 1);
此方法描述为here。
如果没有204
标题,您可能无法执行此操作。并且有充分的理由。框架破坏通常用于防止clickjacking,这可能是非常有害的。