【发布时间】:2013-11-16 16:13:07
【问题描述】:
我基本上是在尝试阻止在我的网页中显示任何自定义对话框。 基本上是第三方广告网络,有时可能会使用一些恶意代码向最终用户显示 alert()。
我遇到了一种简单的方法,可以覆盖主页上的警报:
Window.prototype.alert = function() {console.log("alert prevented!")}
所以对于像这样的基本 html 页面,它工作得很好:
<html>
<body>
<script>
Window.prototype.alert = function() {console.log("an alert was averted");}
</script>
<div>
<a onclick="alert(1)"> This is an alert inside the body</a>
</div>
</body>
</html>
但是在图片中引入一个iframe,就会弹出iframe内的alert。
我仍然想要实现的是,如果有 <iframe> 或任何类似的 HTML 组件,基本上会创建一个单独的窗口,也不应该允许显示任何警报()。
我不太确定这是否可行,但还有什么建议吗?
【问题讨论】:
-
可以在jquery中解决吗?
-
如果无法通过任何简单直接的 js 代码完成,那么如果可以通过 jquery 实现,请继续提供解决方案 :)
标签: javascript html iframe overriding alert