Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 当twitter流加载时加载chrome扩展脚本_Javascript_Jquery_Twitter_Google Chrome Extension - Fatal编程技术网

Javascript 当twitter流加载时加载chrome扩展脚本

Javascript 当twitter流加载时加载chrome扩展脚本,javascript,jquery,twitter,google-chrome-extension,Javascript,Jquery,Twitter,Google Chrome Extension,我刚刚写了一个chrome扩展,它用雅虎财经的数据替换了前面用美元设计的股票符号。不过,基于twitter如何加载流,我遇到了一些问题。我将js设置为在document_end上运行,但是twitter会在DOM就绪后加载流。为了解决这个问题,我只是检查了一下某个元素是否存在,然后运行脚本,如果它不只是等待500毫秒,然后再试一次 搜索页面上似乎也有问题,可能是因为我正在检查的元素有一个不同的类,我还没有真正研究这个问题 另一个问题是,当一条tweet中有大量符号可能与第一个问题有关,但似乎插入

我刚刚写了一个chrome扩展,它用雅虎财经的数据替换了前面用美元设计的股票符号。不过,基于twitter如何加载流,我遇到了一些问题。我将js设置为在document_end上运行,但是twitter会在DOM就绪后加载流。为了解决这个问题,我只是检查了一下某个元素是否存在,然后运行脚本,如果它不只是等待500毫秒,然后再试一次

搜索页面上似乎也有问题,可能是因为我正在检查的元素有一个不同的类,我还没有真正研究这个问题

另一个问题是,当一条tweet中有大量符号可能与第一个问题有关,但似乎插入了额外的DOM元素时,它会造成混乱

该项目托管在github上,如果能得到一些反馈和可能的贡献,那就太棒了


最简单的方法是倾听事件。在浏览器呈现tweet之前,您可以使用
DOMNodeInserted
事件捕获该tweet

正如Chrome18一样,
mutationobserver
现在已经实现,它速度快,而且不会很快启动,因此它很简洁。DOM是异步的,每次调用可以触发多个更改!它显著提高了突变的性能

使用
mutationobserver
的一个例子是:

var observer = new MutationObserver(function onMutationObserver(mutations) {
  mutations.forEach(function(mutationNode) {
    // New Nodes added ... Deal with it!
  });
});
observer.observe(historyContainerDOM, { childList: true, subtree: true });

我在我的一篇文章中添加了一些评论,谈到这一点,请随意选择。

最简单的方法是倾听事件。在浏览器呈现tweet之前,您可以使用
DOMNodeInserted
事件捕获该tweet

正如Chrome18一样,
mutationobserver
现在已经实现,它速度快,而且不会很快启动,因此它很简洁。DOM是异步的,每次调用可以触发多个更改!它显著提高了突变的性能

使用
mutationobserver
的一个例子是:

var observer = new MutationObserver(function onMutationObserver(mutations) {
  mutations.forEach(function(mutationNode) {
    // New Nodes added ... Deal with it!
  });
});
observer.observe(historyContainerDOM, { childList: true, subtree: true });
我已经在我的一篇文章中添加了一些评论,谈到这一点,请随便拿你想要的