我们有一个由不再存在的公司制作的控件。 由于页面加载的一些奇怪的原因,它现在开始渲染这样的页面:
<script type="text/javascript">
alert('Your license has expired!')
</script>
由于公司不再存在,我们无法获得支持,控制也非常复杂,并且运行在一些无法快速替换的遗留代码中,因此简单地重写页面也不是一个选项(尚未)。
暂时需要做的是在对象呈现之前从页面中删除对象,或者通过某些脚本自动关闭对话框...
有什么想法吗?
答案 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)
我认为你不能这样做,因为警报框需要确认。你可以做一个弹出警报并将其设置为关闭超时。