我正在撰写Chrome扩展程序,需要维护< object>列表和<嵌入>网页中的标签。这意味着它需要在页面加载时创建列表,并在动态更改HTML时更新列表(通过AJAX或其他方式)。这样做最有效的方法是什么?
以下是我探索过的一些技巧:
Livequery提供了一种方法,只要创建或销毁与选择器匹配的内容,就会运行代码。不幸的是,我的理解是,这仅在使用jQuery更改页面时才有效。 (另外,livequery很老。)我需要一个适用于整个网络的解决方案,所以这不起作用。是否有一种方法可以为使用jQuery进行的动态更改执行此操作?
创建相同的jQuery选择器,但在每个页面上创建一个计时器,该计时器以频繁的间隔运行以更新页面。担心这种效率低下,尤其是在大量标签打开的情况下。
在页面加载时创建一个jQuery选择器以获取初始列表。每当最新列表相关时(即显示UI或影响所有选项卡的操作都会运行),请重新运行此代码。这不太理想,因为对于我计划的某些功能,我总是希望最新名单。
感谢。
答案 0 :(得分:2)
听起来你知道如何处理页面加载以获取ya列表,之后你可能想看看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