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

标签 javascript google-chrome firefox web browser

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

Window.alert = function() {}

如果我有权访问 Javascript,我可以重新启用警报框吗?

最佳答案

我想我会将原始警报功能保存在其他地方,然后将其重新分配回原来的位置。

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

我不知道我会打开一个新窗口只是为了获取警报功能,但该功能是 native 代码,所以一旦它被关闭,如果没有像这样的疯狂黑客,你就无法将其恢复。至少我不知道。

关于javascript - 覆盖后我可以重新启用 Window.alert 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41369644/

相关文章:

javascript - new Date(2014,1,1) 使用 momentJS 转换为 2 月 1 日

javascript - Javascript 扩展运算符可以包含对象的未定义字段吗?

html - 可见的彩色内容在 Chrome 中显示透明

javascript - 与 Electron 相比,Chrome 应用程序有哪些优缺点?

javascript - 尝试从 Firefox 扩展将文本写入文件时 NS_ERROR_UNEXPECTED

javascript - 如何使用 jquery 同步音频媒体组

javascript - 在模块 javascript 中调用公共(public)方法

android - 在 Android 上运行带标志的 google-chrome

firefox - 如何禁用Firefox控制台对重复输出进行分组?

html - 提交按钮不填满 FF 中列表项的全宽