Chrome扩展程序内容脚本无法访问注入它的页面DOM

时间:2012-06-14 18:42:40

标签: dom google-chrome-extension content-script

我正在尝试从用户正在查看的页面中提取数据并将该数据发送到扩展程序弹出窗口。我在从当前页面提取信息时遇到了麻烦。在查看Google代码教程后,我设置了清单和内容脚本,如下所示。当我转到具有id =“comments”的跨度的测试页面时,来自注入的内容脚本的变量总是最终为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 );

1 个答案:

答案 0 :(得分:6)

执行脚本后可能会加载注释。

尝试在清单中设置:

        "run_at" : "document_end",

或者,如果您怀疑是加载了AJAX,请稍后使用setTimeout调用您的代码。

当然,最好的方案取决于精确的页面及其内部工作。