我正在开发一个Chrome插件。它为每个标记注入一个类名。
我在网页上遇到了一些问题,例如facebook,当你向下滚动时会加载内容。
我想知道是否有办法检查是否加载了新内容。
到目前为止,我能找到的唯一解决方案是
setInterval(function() {
感谢。
答案 0 :(得分:2)
Chrome支持的DOMSubtreeModified
事件(source) - 有关详细信息,请参阅this answer。您的代码应如下所示:
document.addEventListener('DOMSubtreeModified', function() {
$("*:not(.my_class)").addClass('my_class');
}, true);
答案 1 :(得分:1)
如Konrad Dzwinel
所述,您可以使用一些Mutation Event
侦听器
document.addEventListener("DOMSubtreeModified", methodToRun);
但请注意,Mutation Events
是性能值很高的,它们不能很好地驯服(它们经常发生火灾并且会使页面变慢)。因此,它们已在一年前被弃用,只应在真正需要时使用。但是,他们工作。
如果您想要Chrome扩展程序,可以使用DOM Level 4中新的闪亮Mutation Observers
(按照其中的链接,他们会解释很多!)。如果DOMSubtreeModified
被解雇了一千次,MutationObserver
只会触发一次所有修改并且可以访问。
适用于(截至2012/06):
window.WebKitMutationObserver
)