我正在尝试从用户正在查看的页面中提取数据并将该数据发送到扩展弹出窗口。我在从当前页面提取信息时遇到了麻烦。在查看了谷歌代码教程后,我设置了我的 list 和内容脚本,如下所示。当我转到一个跨度为 id="comments"的测试页面时,来自注入(inject)内容脚本的变量总是以 null 结束。有人知道我可能会错过什么吗?谢谢!
manifest.json
=================
{
"name": "Sample Extension",
"version": "0.0.1",
"description": "Sample extension",
"icons": {"128": "icon.png"},
"permissions": [
"tabs", "<all_urls>"
],
"browser_action": {
"default_icon": "browseraction.png",
"default_title": "Sample",
"popup": "popup.html"
},
"content_scripts": [
{
"matches": ["http://*/*", "<all_urls>" ],
"js": ["scripts/contentscript.js"]
}
]
}
contentscript.js
===================
var comments = document.getElementById("comments");
alert( comments.innerText );
最佳答案
执行脚本后可能会加载注释。
尝试在 list 中设置它:
"run_at" : "document_end",
或者,如果您怀疑 AJAX 加载,稍后使用
setTimeout
调用您的代码.当然,最好的方案将取决于精确的页面及其内部工作。
关于dom - Chrome 扩展内容脚本未访问注入(inject)它的页面的 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11039391/