我成功地跟踪了所有包含与每个 facebook 帖子(状态、图像等)相关联的链接的“uiStreamSource”,以便在日期旁边添加一个额外的按钮,以使用 google chrome 扩展程序执行一些其他任务。此按钮执行预定义的工作,在此上下文中不重要提及。
我写了这个内容脚本:
内容脚本.js
var nodeslist=document.getElementsByClassName("uiStreamSource");
alert(nodeslist.length);
每次加载 facebook 页面时,警报都会显示 10 个检测到的类(即 10 个帖子)。但是当我向下滚动时,会出现新帖子,并且此代码无法检测到它们。由于我需要更新所有帖子中的所有 uiStreamSource 节点,我该如何解决这个问题?
更新
我在 contentscript.js 中尝试了这段代码:
load();
document.addEventListener("DOMNodeInsertedIntoDocument", load, false);
function load(){
var nodeslist=document.getElementsByClassName("uiStreamSource");
alert(nodeslist.length);
}
第一次运行时,我得到了正确数量的当前节点(当前 facebook 帖子),但是一旦我向下滚动并获取更多帖子,就会显示警报,表明调用了加载函数,但打印的节点数为 0。这是为什么?
提前感谢。