JavaScript-js的alert被重写后如何还能正常弹出alert

发布于 2017-01-29 11:10:59 字数 68 浏览 1644 评论 5

window.alert = function(){}; alert被重写了,如何使后面使用的alert(1)能正确弹出。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

虐人心 2017-09-14 22:18:39

把你重写的内容删除掉就可以了

window.alert = function(){};
delete(window.alert);
alert(1);

夜无邪 2017-08-13 14:02:10

var alert = window.alert;
window.alert = function(){};
//会调用最近最近作用域的alert方法
alert(1);

貌似就可以了

泛泛之交 2017-08-06 16:07:50

alert=[];
alert=Window.prototype.alert;
alert(1);
楼上的delete方法 改成
delete alert 试试应该可以

虐人心 2017-07-06 09:40:20

我给出一个用 iframe 来恢复方法:

window.alert = function(){};    

var f = document.createElement("iframe");
f.style.cssText = "border:0;width:0;height:0;display:none";
document.body.appendChild(f);
var d = f.contentWindow.document;
d.write("<script type="text/javascript">window.parent.alert = alert;</script>");
d.close();

alert(1);

可以把中间操作 iframe 的那一段写成一个函数,以后直接传参数进去就能恢复想要恢复的方法

瑾兮 2017-07-05 23:13:07

我知道的;
1:就是楼上大家说的那个 delete window.alert
2:Window.prototype.alert.call(window,2) //不兼容ie9以下

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文