使用mutationobserver更改div内容时的alert()

时间:2015-09-28 16:06:11

标签: javascript mutation-observers

我想制作一个脚本(javascript)来检查div的内容是否发生变化(通过ajax,因此不刷新页面),然后显示alert()消息。 我想我可以使用变异观察者,但我不能理解如何做到这一点...... 脚本必须每60秒重新检查一次页面。 谢谢您的帮助。



//now create our observer and get our target element
var observer = new MutationObserver(fnHandler),
        elTarget = document.querySelector(".w-portfolio-table-body"),
        objConfig = {
            childList: true,
            subtree : true,
            attributes: true, 
            characterData : true
        };

//then actually do some observing
observer.observe(elTarget, objConfig);

function fnHandler () {
    alert("DETECTED_VARIATION");
}




注意:此代码适用于Chrome扩展程序,因此我无法使用onchange事件:(

1 个答案:

答案 0 :(得分:1)

首先,你不应该使用你的事件处理程序来插入一个新元素(这里是h2),否则你最终会得到一个无限循环。

其次,您需要将处理程序绑定到观察者。

例如:

function fnHandler () {
  alert("DETECTED_VARIATION");
}
var observer = new MutationObserver(fnHandler);

演示:http://jsfiddle.net/drLrd9w5/1/