在推特流加载时加载 chrome 扩展脚本
Load chrome extension script when twitter stream loads
我刚刚写了一个chrome扩展,用雅虎财经的数据替换了前面用$设计的股票代码。不过,根据 Twitter 加载流的方式,我遇到了一些问题。我将 js 设置为在document_end上运行,但在 DOM 准备就绪后,推特会加载流。为了解决这个问题,我只是检查了某个元素是否存在,然后运行脚本,如果它不只是等待 500 毫秒并重试。
搜索页面上似乎也存在问题,可能是因为我正在检查的元素具有不同的类,我还没有真正研究过这个问题。
另一个问题是,当一条推文中有大量符号可能与第一个问题有关但似乎它插入了额外的 DOM 元素时,它会造成混乱。
该项目托管在GitHub上,可以获得一些反馈和可能的贡献,这将是非常棒的。
https://github.com/billpull/Twitter-Ticker
最简单的方法是收听 DOMMutation 事件。在浏览器呈现推文之前,你可以使用DOMNodeInserted
事件捕获此推文。
由于Chrome 18,现在MutationObservers
已经实现,它速度很快,并且不会快速触发,因此简洁。DOM 突变观察器是异步的,每次调用可以触发多个更改!它显着提高了突变的性能。
使用 MutationObservers
的一个示例是:
var observer = new MutationObserver(function onMutationObserver(mutations) {
mutations.forEach(function(mutationNode) {
// New Nodes added ... Deal with it!
});
});
observer.observe(historyContainerDOM, { childList: true, subtree: true });
我已经在我的一个开源扩展中添加了一些评论,这些评论谈到了这一点,请随意获取您想要的内容。
相关文章:
- 加载Chrome扩展中的脚本错误
- 页面加载代码上的Javascript使其重新加载chrome扩展
- jQuery dataTables对包装宽度的更改只有在加载chrome's检查员
- 重新加载 Chrome 扩展程序内容脚本执行环境
- 在推特流加载时加载 chrome 扩展脚本
- 如何在使用Javascript加载Chrome时计算图像
- 使用相对路径时无法加载chrome扩展内容脚本
- 正在尝试加载gif图像,但未加载chrome
- 我怎么能运行这个脚本时,标签重新加载(chrome扩展)
- 某些页面中未加载Chrome扩展
- Javascript元素在框架内从外部源加载(Chrome内容脚本)
- 在加载chrome扩展之前隐藏所有元素
- 为什么文本/按钮跳转页面加载(Chrome)
- Iframe src改变与Javascript不加载Chrome
- 重新加载Chrome DevTools扩展侧边栏在页面更改
- 页面重新加载chrome扩展消息发送
- jQuery加载Chrome而不是Firefox,为什么
- 我必须重新加载chrome扩展以显示通知
- 在新标签加载(Chrome)上突出显示URL/综合框文本
- Youtube如何控制Flash内容加载(Chrome 12)