如何“自动关闭”警报框

时间:2013-06-26 13:35:26

标签: javascript alert legacy-code

我们有一个由不再存在的公司制作的控件。 由于页面加载的一些奇怪的原因,它现在开始渲染这样的页面:

<script type="text/javascript">
 alert('Your license has expired!')
</script>

由于公司不再存在,我们无法获得支持,控制也非常复杂,并且运行在一些无法快速替换的遗留代码中,因此简单地重写页面也不是一个选项(尚未)。

暂时需要做的是在对象呈现之前从页面中删除对象,或者通过某些脚本自动关闭对话框...

有什么想法吗?

2 个答案:

答案 0 :(得分:17)

你无法关闭一个警告框,只是你可以劫持window.alert

window._alert = window.alert;
window.alert = function () {    
};

代码必须出现在第三方库的代码之前。这意味着,如果您想使用警报,则必须更改代码。

一种方法是调用具有引用

的方法
window._alert("hi");

其他方式是重载“新”功能

window._alert = window.alert;
window.alert = function (msg, showItNow) {    
    if (showItNow) {
        window._alert(msg);
    }
};
window.alert("BOOOO!");  //I will not show up
window.alert("hi", true); //I will show up

答案 1 :(得分:-1)

我认为你不能这样做,因为警报框需要确认。你可以做一个弹出警报并将其设置为关闭超时。