[英]How to disable all JS events on a webpage loaded under iframe
我有一个网页,其中包含JS click / mouseover / mouseout / scroll事件,并且它也没有几个JS库来加载轮播,引导模式弹出窗口等。
我想停止该元素上的所有事件。
我成功取消了html上的一些单击事件的绑定,但是无法取消绑定用于滑动轮播/显示引导弹出窗口等的第三方JS的事件。
我尝试使用:
window.onload = function(){
var anchors = document.getElementsByTagName("a");
for(var a in anchors){
anchors[a].onclick = function(e){
e.preventDefault();
}
}
var divs = document.getElementsByTagName("div");
for(var d in divs){
if (divs[d].removeEventListener) {
console.log("click removed eee");
// For all major browsers, except IE 8 and earlier
divs[d].removeEventListener("click", function(){ console.log("click removed"); });
} else if (divs[d].detachEvent) { // For IE 8 and earlier versions
console.log("click detached eee");
divs[d].detachEvent("click", function(){ console.log("click detached"); });
}
}
};
锚重定向成功停止。 但是,div上的点击事件仍然有效。 请帮我解决如何停止网页上的所有事件绑定。
google的运作方式如下?
https://www.google.com/webmasters/markup-helper/tagger?sourceId=104528819
在那里下载了该页面的结尾,使用iframe呈现了该页面并取消了所有事件的绑定。 他们可能做了什么?
您没有提到这样的事情,iframe中的内容是来自另一个域还是来自相同域?
假设您的iframe内容不是来自其他域。 那么下面是适合您的解决方案。
document.getElementById('edit').contentWindow.addEventListener('keypress', cK, true);
有关更多详细信息,请参见this 。
让我知道您的观点。 谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.