在javascript中,如果我有一个无限循环:
setInterval("popalert", 5000)
popalert()
只是弹出一个警告框,如果已经有一个尚未关闭的警告框,那么最好的方法是不要弹出一个警告框?
答案 0 :(得分:3)
答案 1 :(得分:0)
无法检测标准的javascript警告框,因为它们非常简单。如果你继续产生它们,它们只会排队,而在现代浏览器中,它实际上可以让你选择在几个页面后禁止它们。
如果在任何时候不超过1个盒子对您很重要,我会考虑使用不同类型的通知系统。类似于jQuery UI Dialog。
答案 2 :(得分:0)
popalert函数可以保存警报框的状态。
var bOpen = false;
然后当它的加速设置为真时
如果在按下ok之后关闭,或者再将其设置为false。
当再次调用popalert时,它会检查bOpen var,如果是真的,它就不会打开一个新的弹出窗口。
我也会使用settimeout,所以你不会得到这种无限循环的东西阻止你的gui。
答案 3 :(得分:0)
您无法检测警报框是否已在此处。 您的导航器管理此警告框,因此如果其他人已在此处,则无法弹出。
答案 4 :(得分:0)
您可以使用全局javascript变量(在任何函数之外)并将此var设置为false。如果调用了popalert函数,请检查global var是否为false。如果是,请弹出警报并将var设置为true。这样做只会显示一个警报,但您的功能会一次又一次地执行(如果这很重要)。