我目前正在撰写Chrome扩展程序以供个人使用。它是一个浏览器游戏的插件,当我受到攻击时会调用alert()
函数,因此我不需要经常检查选项卡。它是通过检查div是否有一个新类添加到div来完成的。 (该类被游戏添加以将div变为红色背景,表示攻击)目前,我使用10秒的计时器来检查该类是否存在。它看起来像这样:
//jquery already included
setInterval(function() {
if ( $( ".attacked" ).length )
alert("You are under attack!");
}, 10000)
在我采取一些行动来处理攻击后,游戏将删除该类,因此无需为循环设置退出条件。
它有效,但太重了。它显着减慢了我的PC速度。是否有更轻量级的方法来实现同样的目标?我想是可以在div类更改时添加一个事件监听器,或者如果我能够在我没有调用ajax请求时检查ajax返回数据,但也欢迎使用其他方法。
编辑:此问题已标记为与another similar question重复。它看起来一样,但这是一个不同的情况。我正在编写一个Chrome扩展程序,该类更改是由原始网站中的脚本触发的,我无法触摸这些代码,因此无法触发事件。