禁用javascript中的内置函数(警报)
简单:我想禁用/覆盖禁用javascript中的内置函数(警报),javascript,alert,overwrite,strict,Javascript,Alert,Overwrite,Strict,简单:我想禁用/覆盖alert() 我能做这个吗 更重要的是,这样做对吗 严格模式如何?是的,您可以禁用或覆盖警报()。不,这样做是不对的,除非是在一些奇怪和有限的情况下 禁用: window.alert = function() { }; 覆盖: window.alert = function(text) { /* do something */ }; 是的,你可以,这是你的选择。您还可以存储原始“警报”: window.nativeAlert = window.alert; windo
alert()
我能做这个吗
更重要的是,这样做对吗
严格模式如何?是的,您可以禁用或覆盖
警报()。不,这样做是不对的,除非是在一些奇怪和有限的情况下
禁用:
window.alert = function() { };
覆盖:
window.alert = function(text) { /* do something */ };
是的,你可以,这是你的选择。您还可以存储原始“警报”:
window.nativeAlert = window.alert;
window.alert = function(val){console.log(val+' (alert disabled)');};
现在旧警报仍然可用:nativeAlert('something')代码>为什么要禁用它?如果您想覆盖,就像您想让它显示html、样式和其他东西一样,您可以尝试使用javascript+overlay.com。事实上,使用alert()
是没有用的。这让我和用户都很恼火。我想覆盖它,因为我使用的脚本包含它,我不想修改它(并跟踪该修改)。你测试过这个吗?它在IE中不起作用。它必须是IE中的window.alert=…
。@Tim Down-注意第一个js语句右侧的//注释
。我看到了它,但它读起来好像你把两个选项(alert=…
和window.alert=…
)表示为同样好,而它们不是。@Tim Down,我会重写的。为什么这样做不对呢?我完全不同意你的看法