jquery - 通过 Chrome 扩展检测网页中的所有 <object>/<embed> 标签

标签 jquery google-chrome google-chrome-extension

我正在编写一个 Chrome 扩展程序,需要在网页中维护 标记的列表。这意味着它需要在页面加载时创建列表,并在 HTML 动态更改(通过 AJAX 或其他方式)时更新列表。最有效的方法是什么?

以下是我探索过的一些技术:

  • Livequery 提供了一种方法,只要创建或销毁与选择器匹配的内容,该方法就会运行代码。不幸的是,我的理解是,这只在使用 jQuery 更改页面时才有效。 (另外,livequery 已经过时了。)我需要一个适用于整个网络的解决方案,所以这行不通。是否有一种方法可以对未使用 jQuery 进行的动态更改执行此操作?

  • 创建相同的 jQuery 选择器,但在每个页面上创建一个计时器,该计时器以频繁的间隔运行以更新页面。担心这样做效率低下,尤其是在打开大量选项卡的情况下。

  • 在页面加载时创建一个 jQuery 选择器以获取初始列表。只要有相关的最新列表(即显示 UI 或运行影响所有选项卡的操作),就重新运行此代码。这不太理想,因为对于我计划的某些功能,我希望始终有一个最新列表。

谢谢。

最佳答案

听起来你知道在页面加载时要做什么来获取列表,之后你可能想查看 DOM 突变事件,这里有一些链接可以帮助你开始...
http://www.howtocreate.co.uk/tutorials/javascript/domevents
http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents
http://developer.mozilla.org/en/DOM/DOM_event_reference

关于jquery - 通过 Chrome 扩展检测网页中的所有 <object>/<embed> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8900467/