javascript - Google Chrome content_script 未在匹配的 URL 上加载 JS

标签 javascript google-chrome-extension content-script

即使在堆栈溢出中搜索了很多主题后,也没有任何帮助我修复此错误...

我正在尝试创建一个扩展,目前其中有简单的代码,但不幸的是,控制台没有记录“Hello, world!”来自 content_scripts 文件。

ma​​nifest.json

{
    "manifest_version": 2,

    "name": "Example",
    "shortname": "exmpl",
    "description": "__MSG_appDesc__",
    "version": "0.0.1",
    "default_locale": "en",
    "author": "Mateus Akino",
    "icons": {
        "16": "i16x.png",
        "48": "i48x.png",
        "128": "i128x.png"
     },
    "homepage_url": "http://example.com/",
    "browser_action": {
        "default_icon": "i32x.png",
        "default_popup": "popup.html"
    },
    "update_url": "http://example.com/update.xml",
    "chrome_url_overrides": {
        "newtab": "newtab.html"
    },
    "content_scripts": [{
        "matches": ["*://*.youtube.com/*"],
        "js": ["execute.js"],
        "run_at": "document_end"
    }],
    "background": {
        "scripts": ["background.js"]
    },
    "permissions": [
   "activeTab", "tabs", "i18n", "management", "webNavigation", "<all_urls>"
   ]
}

execute.js

console.log("Hello, world!");

背景.js

chrome.webNavigation.onHistoryStateUpdated.addListener(function (details) {
    chrome.tabs.executeScript(null, {
        file: "execute.js"
    });
});

最佳答案

我解决了这个问题,所以如果其他人也有同样的问题,我会将其发布在这里。

看起来代码没问题,问题是我加载扩展的方式......
由于我使用“加载解压的扩展程序”,我的 manifest.json 并未仅通过禁用和启用它来更新(也不是通过使用立即刷新扩展程序)。

所以我删除了扩展程序,重新加载它,现在它可以正常工作了。

关于javascript - Google Chrome content_script 未在匹配的 URL 上加载 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41293997/

相关文章:

javascript - 表单提交打开php页面

javascript - 接受任意 2 个输入并在 JS onChange 中的第三个输入中显示结果

google-chrome - 每个选项卡使用 chrome.browserAction.setPopup

javascript - 关于注入(inject)脚本 + 本地存储的 Chrome 扩展

javascript - Chrome 扩展程序在文档开始时运行

javascript - Chrome 扩展程序背景和内容脚本发布消息

javascript - Canvas/Fabric.js .loadFromJSON() 替换整个 Canvas

javascript - 用数字和运算符转换数组

google-chrome - 开发者 Chrome 扩展 : Package is invalid. 详细信息: "Could not uzip extension'

c# - Chrome Postman 将证书添加到发送到服务的请求中