我发布了有关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
文件的内容,当我在本地尝试扩展时,一切似乎都运行良好。但是当我打包扩展并上传它时,有两个问题:
jquery-2.1.3.min.js
文件。因此,我更改了我的JavaScript文件的顺序以测试它是否是与jQuery文件相关的问题,但是将masonry.min.js
作为数组中的第一个文件导致了相同的错误。为什么会这样? manifest.json
文件可以吗?我需要一些特殊权限吗?
修改 这是我尝试从Chrome网上应用店安装扩展程序时的屏幕截图(我也无法通过搜索找到它)。
答案 0 :(得分:8)
我在下载之前查看了扩展程序的ZIP文件,结果如下:
*使用Rob Wu的Chrome extension source viewer进行检查
这里的问题是,您已经在ZIP文件中上传了打包的CRX文件,而不是您的扩展源代码。您应该上传包含扩展程序根目录的ZIP文件。由于您包含manifest.json
文件,因此在您尝试安装扩展程序之前,Web Store不会发现任何错误,因为清单写得很好,但是当Chromes尝试访问声明的文件时,它会失败并返回错误,因为这些文件不存在。
从Chrome网上应用店开发人员信息中心的上传页面引用:
上传商品:
- 上传项目目录的 ZIP文件,而不是打包的CRX文件。
- 在清单中加入精心设计的产品图标(more info)。
- Read the documentation关于创建和打包应用程序。
- 需要更多帮助?查看Chrome Web Store developer documentation。
因此,您应该在扩展程序的根目录中创建 ZIP 文件,其中包含所有扩展程序的文件。您的ZIP文件应如下所示:
答案 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',
},