dom - Chrome 扩展内容脚本未访问注入(inject)它的页面的 DOM

标签 dom google-chrome-extension content-script

我正在尝试从用户正在查看的页面中提取数据并将该数据发送到扩展弹出窗口。我在从当前页面提取信息时遇到了麻烦。在查看了谷歌代码教程后,我设置了我的 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/

相关文章:

javascript - 从数组中获取 Id 并切换它

javascript - 在获取更新时将 CSS 类添加到 React DOM 元素

javascript - 按类对 div 元素进行排序 (jQuery/Javascript)

javascript - 在 Chrome 下 - Mootools 注入(inject)因 null 元素而失败

google-chrome-extension - 我可以编辑 Google Chrome 主题吗?

javascript - 尝试将 Google Analytics 添加到 Chrome 扩展

google-chrome-extension - 无需使用内容脚本即可配置键盘快捷键

javascript - 将小书签变成 Chrome 扩展程序

javascript - 在 chrome 扩展内容脚本中包含 ttf 文件

javascript - 从控制台和通过内容脚本执行相同代码时的输出差异