3

我们有一个由不再存在的公司制定的控制。由于页面加载的一些奇怪原因,它现在已经开始向页面呈现如下内容:

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

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

我暂时需要做的是让对话框在呈现之前从页面中删除或由某些脚本自动关闭......

有任何想法吗?

4

2 回答 2

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
于 2013-06-26T13:39:22.417 回答
-1

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

于 2013-06-26T13:39:14.277 回答