收听页面内容更新

ice*_*ace 2 html javascript asynchronous google-chrome-extension dom-events

由于ajax在今天被广泛使用,很多页面内容都是异步加载的。有没有办法知道在加载所有 DOM 之后加载了什么?例如,加载了整个页面,但某些图像是new image()由 . 任何事件可能有用?

小智 5

已经提到的突变事件应该可以解决问题。如果使用 jQuery,您可以使用 'DOMSubtreeModified' 突变事件执行以下操作:

$(document).ready(function () {
    $('body').bind('DOMSubtreeModified', 'test', function () {
        alert('something changed');
    });

    $('#some-button').click(function () {
        $('body').append('<h4>added content</h4>');
    });
});
Run Code Online (Sandbox Code Playgroud)

任何内容更改都会显示警告框。在该示例中,当单击 id 为“some-button”的按钮时,内容将添加到正文并显示警报。突变事件提供了一些更具体的事件类型,我所展示的可能是最普遍的。