Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:如何检查是否加载了数据_Javascript_Google Chrome Extension - Fatal编程技术网

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

Javascript:如何检查是否加载了数据,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在开发一个Chrome插件。它向每个标记注入一个类名 我对像facebook这样的网页有一些问题,当你向下滚动时,网页中的内容会被加载 我想知道是否有办法检查是否加载了新内容 到目前为止,我能找到的唯一解决办法是 setInterval(function() { 谢谢。有一个Chrome支持的domsubtreemedited事件()-有关详细信息,请参阅。您的代码应该如下所示: document.addEventListener('DOMSubtreeModified', funct

我正在开发一个Chrome插件。它向每个标记注入一个类名

我对像facebook这样的网页有一些问题,当你向下滚动时,网页中的内容会被加载

我想知道是否有办法检查是否加载了新内容

到目前为止,我能找到的唯一解决办法是

 setInterval(function() { 

谢谢。

有一个Chrome支持的
domsubtreemedited
事件()-有关详细信息,请参阅。您的代码应该如下所示:

document.addEventListener('DOMSubtreeModified', function() {
  $("*:not(.my_class)").addClass('my_class');
}, true);

正如Konrad Dzwinel所说,您可以使用一些侦听器

但要注意的是,它们是性能猪,不能很好地驯服(它们开火太频繁,页面速度慢了很多)。因此,它们在一年多前就被弃用了,应该只在真正需要的时候使用。然而,它们是有效的

如果您想将其用于Chrome扩展,可以使用domlevel4中的新的和闪亮的(按照那里的链接,它们解释了很多!)。当
domsubtreemedited
触发一千次时,
MutationObserver
仅触发一次,并且包含所有修改并可访问

工程(截至2012/06年):

  • Chrome 18+(前缀为window.WebKitMutationObserver)
  • Firefox 14+(未修复)
  • WebKit夜生活

谢谢@kdzwinel,它确实有效。我用的是“DOMNodeInserted”。唯一的问题是,我有一个印象,它减缓了加载很多,但我不确定。您认为可能吗?请确保在文档末尾启动脚本(或者,如果可能,即使在文档完全加载后有一些超时延迟),在首次创建DOM时以及Facebook使用多个AJAX调用加载和创建页面时,
domsubtreemeding
可能会多次启动。一般来说,您的扩展在javascript密集型网站和web应用程序上会非常繁重。
document.addEventListener("DOMSubtreeModified", methodToRun);