javascript - 我的 Chrome 扩展程序代码是否正确(谷歌拒绝了它,但它在本地工作)?
问题描述
我制作了一个 Chrome 扩展程序,它在开发模式下运行良好,但由于以下原因被拒绝:
违反:
该软件包包含“MyExt.crx”文件,该文件不是有效文件
清单中提到的“news.js”和其他文件在安装时抛出错误的包中不可用。
如何纠正:请正确打包您的扩展并在开发者仪表板上重新提交。
附加信息:权限使用未验证,因为 js 文件在包中不可用
我想知道我是否误解了它应该如何工作并错误地使用了 content_scripts。
顺便说一句,是的,我完成了教程并阅读了文档(不止一次)。
首先,这是我的项目,非常简单:
chrome.storage.sync.set
我的弹出窗口(当您单击扩展程序时)有几个复选框,它们通过and存储和加载它们的状态chrome.storage.sync.get
。
文件news.js
并blocks.js
更改网站的 DOM,具体取决于复选框。
这是我的清单:
{
"manifest_version": 3,
"name": "MyExtension",
"version": "1.0",
"description": "Blabla",
"content_scripts": [
{
"matches": ["https://www.randomsite.com/*"],
"js": ["news.js", "blocks.js"]
}
],
"permissions": ["storage"],
"action": {
"default_popup": "popup.html",
"default_icon": {
"16": "/images/logo16.png",
"32": "/images/logo32.png",
"48": "/images/logo48.png",
"128": "/images/logo128.png"
}
},
"icons": {
"16": "/images/logo16.png",
"32": "/images/logo32.png",
"48": "/images/logo48.png",
"128": "/images/logo128.png"
}
}
我想要做的是仅在 randomsite.com 上工作的扩展。
我不明白这里有什么问题,有人知道吗?
解决方案
正如 wOxxOm 评论的那样,问题出在我提交的 ZIP 上。我在某处读到我必须以 ZIP 格式提交 CRX 文件,但事实并非如此。ZIP 必须包含项目的文件夹和文件。官方文档解释了这一点:https ://developer.chrome.com/docs/extensions/mv3/hosting/
推荐阅读
- mysql - MYSQL 每月自动更新
- javascript - 使用不同的参数重新渲染相同的组件
- postgresql - postgres 中的 pg_get_serial_sequence 失败并返回误导性错误
- sapui5 - 是否可以基于父元素在 SAPUI5 中进行一些条件绑定?
- excel - 将参数从 VbScript 传递给 vba 函数
- react-native - 如何在 React-Native UWP 应用程序中下载文件
- ios - Swift 5 - 通过 UIAlertView 验证文本字段
- javascript - 检测 div 外的点击并切换菜单
- kubernetes - 配置 Kubernetes CronJob 依赖
- python - 如何将字符串输入作为整数参数传递?