Chrome扩展程序:无法加载javascript文件

时间:2015-02-04 10:08:48

标签: google-chrome-extension manifest tumblr

我发布了有关Chrome扩展程序here的其他问题 但我还有一个关于扩展的问题。我只需要一个内容脚本来修改Tumblr-Dashboard,没有背景页面或其他东西,对吗?

以下是manifest.json文件:

{
    "name": "Tumblr - Tiled Dashboard",
    "version": "0.0.54",
    "manifest_version": 2,
    "description": "This extension modifies the look of your Tumblr dashboard.",
    "icons": {
        "16": "images/icon_16.png",
        "48": "images/icon_48.png",
        "128": "images/icon_128.png"
    },
    "content_scripts": [
        {
            "matches": [ "*://*.tumblr.com/dashboard" ],
            "css": [ "styles.css" ],
            "js": [ "jquery-2.1.3.min.js", "masonry.min.js", "code.js" ]
        }
    ],
    "homepage_url": "mypage",
    "author":  "myname"
}

首先,我问这是否正常?我已经阅读了很多关于manifest.json文件的内容,当我在本地尝试扩展时,一切似乎都运行良好。但是当我打包扩展并上传它时,有两个问题:

  1. 搜索时无法找到扩展程序
  2. 当我使用链接查找扩展名,并且我想安装它(在2台不同的PC上试过)时,我收到错误,告诉我无法加载jquery-2.1.3.min.js文件。因此,我更改了我的JavaScript文件的顺序以测试它是否是与jQuery文件相关的问题,但是将masonry.min.js作为数组中的第一个文件导致了相同的错误。
  3. 为什么会这样? manifest.json文件可以吗?我需要一些特殊权限吗?

    修改 这是我尝试从Chrome网上应用店安装扩展程序时的屏幕截图(我也无法通过搜索找到它)。

    Screenshot of when I try to install the package from the Web Store

2 个答案:

答案 0 :(得分:8)

我在下载之前查看了扩展程序的ZIP文件,结果如下:

zip

*使用Rob Wu的Chrome extension source viewer进行检查

这里的问题是,您已经在ZIP文件中上传了打包的CRX文件,而不是您的扩展源代码。您应该上传包含扩展程序根目录的ZIP文件。由于您包含manifest.json文件,因此在您尝试安装扩展程序之前,Web Store不会发现任何错误,因为清单写得很好,但是当Chromes尝试访问声明的文件时,它会失败并返回错误,因为这些文件不存在。

从Chrome网上应用店开发人员信息中心的上传页面引用:

  

上传商品

     

因此,您应该在扩展程序的根目录中创建 ZIP 文件,其中包含所有扩展程序的文件。您的ZIP文件应如下所示:

enter image description here

答案 1 :(得分:0)

我遇到相同的“ 无法加载JavaScript文件”错误,然后我发现 my_custom_script.js 文件不是在 dist 中生成的目录(我正在使用 npm )。您可以手动移动它,然后尝试重新加载插件以检查是否存在此问题。

对我来说,解决方案是在 webpack.config.js 中添加新条目

 entry: {
    'my_custom_script': './my_custom_script.js',
    'background': './background.js',
    'popup/popup': './popup/popup.js',
    'options/options': './options/options.js',
  },