【发布时间】:2012-12-04 17:15:48
【问题描述】:
我的扩展应该加载一个内容脚本,searchTopic.js,只有在它注入的页面已经完全加载之后(是的,我在扩展清单中将“run_at”设置为“document_end”),但实际上它在创建所有 DOM 对象之前加载(关键的对象是通过页面中的一些 Javascript 创建的)。所以,问题是,我怎样才能等到页面的 Javascript 执行完毕?这是我的清单:
"content_scripts": [
{
"run_at": "document_end",
"matches": ["https://groups.google.com/forum/*"],
"js": ["searchTopic.js"]
}
],
【问题讨论】:
-
你无法预测未来。您找到的任何解决方案都特定于您编写脚本的情况。尝试使用
window.onload事件,或者通过一种使用计时器的轮询来检测页面何时处于所需状态。 -
您无法知道所有 javascript 何时会执行完毕。它在解析时运行一次,但它的操作(DOM 操作,进一步的脚本加载)可能会在稍后发生,由任何事件触发 - 我担心这些对你来说很有趣。
标签: javascript google-chrome-extension content-script