具体来说,我正在评估页面上的所有图像以查看它们是否具有特定属性,然后根据这些属性向 DOM 添加一些新的
我遇到的问题是,有时 document.ready 需要很短的时间才能触发,而用户已经在浏览页面,想知道为什么我的扩展还没有任何效果。该问题通常只持续片刻,但足以令人恼火。
如果我不费心等待 document.ready,而是立即处理文档,似乎一切正常;但我想知道我是不是走运了。
最佳答案
其实,你不必等待。您可以马上处理 Content Scripts .只需确保您没有在 run_at
属性中使用 document_start
。
在 document_end
中,文件在 DOM 完成后立即注入(inject),但在图像和框架等子资源加载之前。 document_idle
(默认值)发生得更晚。
{
"name": "My extension",
...
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery.js", "myscript.js"],
"run_at": "document_end"
}
],
...
}
关于javascript - 在 Chrome 扩展内容脚本中,我必须在处理文档之前等待 document.ready 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5113318/