我想检测网页的特定部分何时发生变化并在发生时刷新页面。这可能吗?例如,假设在页面的左上角有一个大约 50 x 50 像素的绿色绝对定位元素 - 我希望页面在变为红色时刷新。
基本上我正在尝试构建的是一个网站的覆盖,它将检测何时弹出通知并自动刷新页面。如果有其他方法比我想出的更好,请我对任何事情持开放态度。
我想检测网页的特定部分何时发生变化并在发生时刷新页面。这可能吗?例如,假设在页面的左上角有一个大约 50 x 50 像素的绿色绝对定位元素 - 我希望页面在变为红色时刷新。
基本上我正在尝试构建的是一个网站的覆盖,它将检测何时弹出通知并自动刷新页面。如果有其他方法比我想出的更好,请我对任何事情持开放态度。
您可以使用它来检查每一秒:
function hasChanged(hasItChanged)
{
//your code, eg
if(hasItChanged) alert("yep");
else alert("nope");
}
function check(){
if($("element").css("background-color") == "rgb(255, 0, 0)")
hasChanged(true);
else
hasChanged(false);
}
setInterval(check, 1000); //check every second (1000 miliseconds)
只需将if($("element").css("background-color") == "rgb(255, 0, 0)")
行更改为您发现更改的一些 CSS(并且显然将 更改为$("element")
您想要的选择器)。
编辑:我发现你必须使用 RGB 才能工作,就颜色而言。但是你总是可以$("element").css("background-color")
在浏览器的控制台中输入内容,看看它给了你什么。也许您需要一个 or 声明来支持跨浏览器,尽管我认为至少在现代浏览器中这不是必需的。
你可以使用:
$(element).on('DOMAttrModified', function() {
//code
});
不确定这是否是标准的。