javascript - jQuery 未在 Google Chrome content_script 扩展中加载

标签 javascript jquery google-chrome google-chrome-extension content-script

我无法在 Google Chrome 用户脚本中加载 jQuery。

这就是我的 manifest.json 的样子:

{
    //...
    "content_scripts" : [{
        "js" : ["http://code.jquery.com/jquery-1.7.1.js", "code.js"],
        //...
    }],
    //...
}

但在 code.js 中,$未定义

code.js 否则可以工作,实际上我有一个小书签正在工作(使用该网站的 jQuery 版本)。

我尝试过缩小版本和未缩小版本的 jQuery,托管版本或本地版本。

我还尝试在我的 code.js 顶部嵌入一个缩小的 jQuery,但如果我这样做,代码甚至不会运行,实际上整个文件都不会运行(甚至在缩小的 jQuery block 之前发出警报)。

如果你想看的话,here it is .

最佳答案

根据 zip 中提供的 manifest.json,Chrome 在解压时向我发送了两个错误。

  1. Invalid value for 'content_script[0].matches[0]': Missing scheme seperator.
  2. Could not load javascript 'http://code.jquery.com/jquery-1.7.1.js' for content script.

第一个表示您的 matches语句格式不正确。在您的*之后你应该添加 ://像这样:

"matches" : ["*://my.deviantart.com/messages/*"]

第二个是关于您尝试从外部资源加载 jquery。如果您更改本地文件的路径,它应该可以工作。

"js" : ["jquery.js", "code.js"],

当我 console.log($)在你的code.js这些调整后的文件 jquery 似乎工作得很好。

编辑: 请注意,您需要将以下内容添加到 html(在 <head> 部分中):

<script src='./jquery.js'></script>

关于javascript - jQuery 未在 Google Chrome content_script 扩展中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8973005/

相关文章:

jquery-ui - 当从 ajax 加载 html 时,启用 jQuery datepicker

jQuery滚动功能不断跳跃

javascript - 如何使用 Node.js Selenium Chrome 驱动程序设置文件下载目录

javascript - Chrome 没有声明我的 JavaScript 函数

屏幕上时的 Javascript 触发器(进度条)

jquery - 堆叠时使用事件的 Bootstrap 选项卡

javascript - 旋转一个简单的立方体两次

css - 选择背景白色/透明 - Chrome OSx

javascript - 如何使数组的每个池只能分配一次

javascript - 将 JavaScript 源文件的全部内容包装在函数 block 中的意义和原因是什么?