我有一个谷歌浏览器扩展程序,从网上商店安装后崩溃了。从本地副本安装时,扩展不会崩溃。当您单击安装后添加的工具栏图标时,会发生崩溃。该图标应该加载带有 URL 的表。重新启动后,您将获得恢复选项卡的选项。我希望有人可以帮助确定崩溃问题或告诉我如何访问崩溃报告以查看导致问题的原因。
扩展位于此处:Chrome 商店应用
任何帮助或指导将不胜感激。谢谢
我已经调查了您的问题,这里有两个问题:
- 您的扩展程序
- 被禁用,"此扩展程序可能已损坏。
- 铬崩溃。
后者是由Chrome 40中已修复的错误引起的,因此我将只关注第一个问题。
第一个问题是由内容验证引起的,内容验证是 Chrome 中的一项(实验性)安全功能,通过禁用已损坏 crbug.com/369895 的扩展程序来确保 Chrome 网上应用店中扩展程序的完整性。每当 Chrome 访问扩展文件时,都会通过验证文件的校验和来检测损坏(对于清单文件中引用的文件:在安装时;对于其他(嵌入式)文件:在加载文件时)。
不幸的是,实现中存在一些错误,这些错误也会导致在以下情况下禁用扩展:
-
crbug.com/439464 - 文件名的拼写与路径的拼写不匹配。在 Windows 和某些 Mac 系统上,文件系统区分大小写,因此在开发过程中,您可能不会注意到文件名的拼写不正确。内容验证区分大小写,因此它将"icon.png"与(大写)"Icon.png"不同。
(检查中的这种差异是不幸的,但一件好事:如果您在icons
字段中使用不正确的拼写,那么扩展将不会加载到区分大小写的文件系统上,例如 Linux 上常用的文件系统。 -
crbug.com/444085 - 路径未解析为规范形式。当您使用两个"//"而不是"/"时,Chrome 会找到该文件,但不会找到其相应的校验和并禁用扩展程序。要解决此问题,请将"path//to/file"更改为"path/to/file"。修复静态路径(例如在HTML和CSS文件中)相对容易,但是如果您动态构造路径,那么找到罪魁祸首就会变得更加困难。
若要了解扩展程序被禁用的原因,请按照 crbug.com/444085#c25 中的说明进行操作。
该问题与其中一个 css 文件中的 url 损坏有关。 通过禁用所有脚本和css,我们能够找到问题。