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

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

想挽留 发布于 2017-01-29 字数 87 浏览 1440 回复 5

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

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

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

评论(5

虐人心 2017-09-14 5 楼

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

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

夜无邪 2017-08-13 4 楼

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

貌似就可以了

泛泛之交 2017-08-06 3 楼

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

虐人心 2017-07-06 2 楼

我给出一个用 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 1 楼

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