Google Chrome 从 Webstore 安装时扩展程序崩溃 - 需要确定崩溃原因

Google Chrome Extension Crashes When Installed From Webstore - Need To Identify Cause of Crash

我有一个 google chrome 扩展,在您从网上商店安装它后崩溃了。从本地副本安装时,扩展不会崩溃。单击安装后添加的工具栏图标时会发生崩溃。该图标应该加载带有 URL 的 table。重新启动后,您将获得恢复选项卡的选项。我希望有人可以帮助确定崩溃问题或告诉我如何访问崩溃报告以查看导致问题的原因。

扩展位于此处: Chrome Store App

任何帮助或指导将不胜感激。谢谢

该问题与 css 文件之一的损坏 url 有关。通过禁用所有脚本和 css 我们能够找到问题所在。

我已经调查了你的问题,这里有两个问题:

  1. 您的扩展被禁用,"This extension may have been corrupted."
  2. Chrome 崩溃。

后者是由has been fixed in Chrome 40的一个bug引起的,所以我只关注第一个问题。

第一个问题是由内容验证引起的,内容验证是 Chrome 中的一项(实验性)安全功能,可通过禁用已损坏的扩展来确保 Chrome 网上商店扩展的完整性 crbug.com/369895。每当 Chrome 访问扩展文件时,通过验证文件的校验和来检测损坏(对于清单文件中引用的文件:安装时;对于其他(嵌入式)文件:加载文件时)。

不幸的是,实现中存在一些错误,导致扩展在以下情况下也被禁用:

  • crbug.com/439464 - 文件名的拼写与路径的拼写不匹配。在 Windows 和某些 Mac 系统上,文件系统区分大小写,因此在开发过程中,您可能不会注意到文件名的拼写错误。内容验证区分大小写,因此它会将 "icon.png" 与(大写)"Icon.png".
    区别对待 (这种检查差异是不幸的,但却是一件好事:如果您在 icons field 中使用了错误的拼写,那么扩展将不会加载到区分大小写的文件系统,例如 Linux 中常用的文件系统。 )

  • crbug.com/444085 - 路径未解析为规范形式。当您使用两个“//”而不是“/”时,Chrome 将找到该文件,但不会找到其对应的校验和并禁用扩展名。要解决此问题,请将 "path//to/file" 更改为 "path/to/file"。修复静态路径(例如在 HTML 和 CSS 文件中)相对容易,但如果您动态构建路径,那么找到罪魁祸首会变得 困难。

要找出您的扩展被禁用的原因,请按照 crbug.com/444085#c25 中的说明进行操作。