【问题标题】:Chrome Extension Error Loading JqueryChrome 扩展程序错误加载 Jquery
【发布时间】:2013-12-28 22:56:05
【问题描述】:

我正在开发 chrome 扩展程序,但我的内容脚本抛出错误

$/jQuery 没有被定义。

所以我尝试使用我的清单文件嵌入 jquery,并将 jquery 下载到我的扩展文件夹中,但无论出于何种原因,我都会收到此错误 --

拒绝加载 chrome-extension://gfdmfdmhnoenciioooikdifmdkechdbl/jquery-1.10.2.min.map。 资源必须列在 web_accessible_resources 清单键中 以便被扩展程序之外的页面加载。

我用我的清单文件尝试了几件事,但似乎没有任何效果,所以现在我尝试这个,但它仍然给我错误--

{
    "manifest_version": 2,

    "name":    "My Extension",
    "version": "0.0",
    "offline_enabled": false,

    "content_scripts": [{
        "matches":    ["*://*.sitedomain.com/*"],
        "js": [
                "jquery-1.10.2.min.js", 
                "content.js"
            ],
        "run_at":     "document_end",
        "all_frames": false
    }]
}

我无法编辑要在其上使用的实际站点,因此我无法在标题中以旧方式加载 jquery,这就是为什么我尝试使用扩展程序加载以便我的内容脚本可以工作。任何帮助表示赞赏。

【问题讨论】:

  • jquery-1.10.2.min.map 存在错误,但您在内容脚本中提到了jquery-1.10.2.min.js。你确定jquery的路径没有错字吗?
  • @blunderboy 我的文件夹中有 jquery-1.10.2.min 和 jquery-1.10.2.min.map,但我没有看到任何类型。我尝试在 web_resources 中包含 .map 文件......但我仍然收到错误
  • 你在使用 source map 吗?

标签: javascript jquery google-chrome google-chrome-extension manifest


【解决方案1】:

只需从 jquery 文件的顶部删除这一行

//@ sourceMappingURL=jquery-1.10.2.min.map

如果您检查Jquery 1.10.2 的来源,它的顶部已包含源映射行。 我希望你没有使用 Source Maps。有关更多详细信息,请查看以下链接:

  1. http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
  2. jQuery's jquery-1.10.2.min.map is triggering a 404 (Not Found)

替代方法

  1. jquery downloads page 下载源映射文件并将jquery-1.10.2.min.map 放在扩展目录中。
  2. 同时下载uncompressed source code并放入扩展目录。
  3. 基本上你需要三个文件 [SourceMap, Compressed, Uncompressed]。
  4. 将这些映射文件路径和未压缩文件路径添加到web_accesible resources

【讨论】:

  • @ExpertSystem 我实际上并没有尝试这种方法。是的,你是对的。我应该根据 Konrad 的评论更新答案。非常感谢。
  • 好的,我将不得不尝试替代方法,因为某种原因我最终再次收到错误。
  • 我试过了,我的跑了。删除线方法对您根本不起作用吗?
  • 由于这个原因,最新的 jquery 版本(1.11 和 2.1)不再包含这一行。
  • 感谢@Teepeemm 让我们知道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-05
  • 2016-08-20
  • 1970-01-01
相关资源
最近更新 更多