Pixel Slate 上的清单无效 (Chrome OS)

Invalid Manifest on Pixel Slate (Chrome OS)

我的 Chrome 扩展的用户报告在 Pixel Slate 设备上安装它时遇到问题。错误只是说 "Invalid Manifest",无法安装扩展。

然而,在 Windows 或 OSX 设备上没有这样的错误,根据我的检查,清单似乎是有效的。

有人知道问题出在哪里吗?

清单如下:

{
  "manifest_version": 2,

  "name": "ProTABS - Tab Management for Pro's",
  "short_name": "ProTABS",
  "description": "\"I got 99 problems, but a tab ain't one.\"  An intelligent tab manager for the everyday user.",
  "version": "1.5.1",

  "minimum_chrome_version": "55",

  "icons": {
    "16": "./static/icons/icon16.png",
    "32": "./static/icons/icon32.png",
    "48": "./static/icons/icon48.png",
    "128": "./static/icons/icon128.png"
  },

  "browser_action": {
    "default_popup": "frontend.html"
  },

  "background": {
    "page": "backend.html",
    "persistent": false
  },

  "commands": {
    "_execute_browser_action": {
      "suggested_key": {
        "windows": "Ctrl+Shift+A",
        "mac": "Command+Shift+A",
        "linux": "Ctrl+Shift+A"
      }
    }
  },

  "permissions": ["tabs", "webNavigation", "storage", "alarms"]
}

在采纳了尝试 Chrome OS Emulator 中的扩展并尝试将其作为打包扩展加载的建议后,我发现了问题的原因。

在这种情况下,错误清单是由以下部分引起的:

"commands": {
  "_execute_browser_action": {
    "suggested_key": {
      "windows": "Ctrl+Shift+A",
      "mac": "Command+Shift+A",
      "linux": "Ctrl+Shift+A"
    }
  }
}

问题是 chromeos 未在 suggested_key 的映射中指定为平台,并且未指定 default 键。

在我的例子中,我能够如下简化设置(因为在 Mac、Chrome 上将 Ctrl 映射到 Command):

"commands": {
  "_execute_browser_action": {
    "suggested_key": {
      "default": "Ctrl+Shift+A",
    }
  }
}

添加 default 可确保清单对任何未来平台都有效,只要它们具有与默认平台兼容的密钥。