我正在开发一个 Chrome 插件。它为每个标签注入一个类名。
我对诸如 facebook 之类的网页有一些问题,当您向下滚动时会在其中加载内容。
我想知道是否有办法检查是否加载了新内容。
到目前为止,我能找到的唯一解决方案是
setInterval(function() {
谢谢。
我正在开发一个 Chrome 插件。它为每个标签注入一个类名。
我对诸如 facebook 之类的网页有一些问题,当您向下滚动时会在其中加载内容。
我想知道是否有办法检查是否加载了新内容。
到目前为止,我能找到的唯一解决方案是
setInterval(function() {
谢谢。
Chrome 支持一个DOMSubtreeModified
事件(源) - 有关详细信息,请参阅此答案。您的代码应如下所示:
document.addEventListener('DOMSubtreeModified', function() {
$("*:not(.my_class)").addClass('my_class');
}, true);
如前所述Konrad Dzwinel
,您可以使用一些Mutation Event
侦听器
document.addEventListener("DOMSubtreeModified", methodToRun);
但请注意,Mutation Events
这些性能猪实际上并不能很好地驯服(它们过于频繁地触发并大大降低了页面速度)。因此,它们已在一年多前被弃用,仅在真正需要时才应使用。然而,他们工作。
如果你想要这个 Chrome 扩展,你可以使用Mutation Observers
DOM Level 4 中的新的和闪亮的(点击那里的链接,他们解释了很多!)。在DOMSubtreeModified
触发一千次的情况下,MutationObserver
只触发一次,所有修改都包含在内且可访问。
适用于(截至 2012/06 年):
window.WebKitMutationObserver
)