Javascript:如何检查数据是否已加载

Javascript: how to check if data is loaded

本文关键字:数据 是否 加载 检查 何检查 Javascript      更新时间:2023-09-26

我正在开发一个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扩展程序,你可以使用DOM Level 4的新闪亮Mutation Observers(点击那里的链接,他们解释了很多!在DOMSubtreeModified发射一千次的地方,MutationObserver只发射一次,所有修改都包含和可访问。

适用于(截至2012/06):

  • 铬 18+ (前缀,window.WebKitMutationObserver
  • 火狐 14+ (无前缀)
  • 网络套件夜刊