首页 > 解决方案 > 我的 Chrome 扩展程序代码是否正确(谷歌拒绝了它,但它在本地工作)?

问题描述

我制作了一个 Chrome 扩展程序,它在开发模式下运行良好,但由于以下原因被拒绝:

  • 违反:

    • 该软件包包含“MyExt.crx”文件,该文件不是有效文件

    • 清单中提到的“news.js”和其他文件在安装时抛出错误的包中不可用。

  • 如何纠正:请正确打包您的扩展并在开发者仪表板上重新提交。

  • 附加信息:权限使用未验证,因为 js 文件在包中不可用

我想知道我是否误解了它应该如何工作并错误地使用了 content_scripts。

顺便说一句,是的,我完成了教程并阅读了文档(不止一次)。

首先,这是我的项目,非常简单:

在此处输入图像描述

chrome.storage.sync.set我的弹出窗口(当您单击扩展程序时)有几个复选框,它们通过and存储和加载它们的状态chrome.storage.sync.get

文件news.jsblocks.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 上工作的扩展。

我不明白这里有什么问题,有人知道吗?

标签: javascriptgoogle-chrome-extension

解决方案


正如 wOxxOm 评论的那样,问题出在我提交的 ZIP 上。我在某处读到我必须以 ZIP 格式提交 CRX 文件,但事实并非如此。ZIP 必须包含项目的文件夹和文件。官方文档解释了这一点:https ://developer.chrome.com/docs/extensions/mv3/hosting/


推荐阅读