我可以在覆盖后重新启用Window.alert吗?

时间:2016-12-28 20:59:46

标签: javascript google-chrome firefox web browser

如果我有一个页面覆盖window.alert框:

Window.alert = function() {}
如果我有权访问Javascript,可以重新启用警告框吗?

1 个答案:

答案 0 :(得分:1)

我想我会将原始警报功能保存在其他地方,然后重新分配给它。

var originalAlert = window.alert;

window.alert = function(stuff) {
  console.log('alert invoked');
}

alert(); // displays a message in the console

var newWindow = window.open();

window.alert = newWindow.alert;

newWindow.close();

alert(); // alerts a message

我不知道我会打开一个新窗口只是为了获取警报功能,但该功能是本机代码,所以一旦它被关闭,你就无法在没有像这样的疯狂黑客的情况下找回它。至少不是我知道的。