【问题标题】:Google Chrome Extension Crashes When Installed From Webstore - Need To Identify Cause of Crash从网上商店安装 Google Chrome 扩展程序崩溃 - 需要确定崩溃的原因
【发布时间】:2015-01-20 22:26:43
【问题描述】:

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

扩展程序位于此处: Chrome Store App

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

【问题讨论】:

  • 您使用的是哪个版本的 Chrome?您使用的是 Windows/Mac/Linux/Chrome 操作系统吗? “崩溃”是什么意思?扩展过程是否终止并出现气泡? Chrome 本身会崩溃吗?如果可能的话,你能展示任何产生错误的视频吗?如果您已收集到这些信息,请在 crbug.com/new 上打开一个新问题,因为这听起来显然是一个错误,而不是 Chrome 扩展程序开发问题。
  • 弹出窗口打开,然后 Chrome 禁用扩展并在扩展页面上显示错误 This extension may have been corrupted.
  • 感谢您的回复。我正在使用我认为是最新的 chrome 版本 39.0.2171.99 m。我在多个版本上进行了测试,Win7 家庭版、Win7 商务版、Windows 2008 r2 都遇到了同样的问题。谷歌浏览器完全崩溃,必须重新启动。在 Win7 主页上,我可以选择使用 Visual Studio 进行调试。我会附上这些文件,但我不知道在那里寻找什么。我可以拍摄视频并且很乐意这样做,但我不确定它会说什么。我单击太栏图标,chrome 消失了。然后我重新启动并询问我是否要恢复标签。
  • 这是一个 Chrome 使用扩展程序崩溃的视频。 youtu.be/-GYdI5TEEw4 注意当从硬盘加载相同的扩展时没有问题。该问题仅在从网上商店安装时存在。我已经尝试恢复到旧版本,但我仍然遇到问题,这让我相信可能是 chrome 更新导致了这个问题?
  • 我进行了更多测试,并意识到问题出在弹出窗口的 html 上。尝试仅使用禁用脚本的 html 并仍然崩溃。然后我用最少的代码尝试了一个基本的 html 文件,它工作了。那么对于 chrome 的 popup.html 是否有指南要求?

标签: google-chrome google-chrome-extension crash google-chrome-devtools chrome-web-store


【解决方案1】:

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

  1. 您的扩展程序被禁用,“此扩展程序可能已损坏。”
  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 的说明进行操作。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-24
      • 2020-08-17
      • 1970-01-01
      • 2023-04-01
      • 2019-03-19
      • 1970-01-01
      • 2016-01-05
      • 1970-01-01
      相关资源
      最近更新 更多