打开弹出窗口时,Chrome扩展程序已损坏

时间:2017-08-13 17:32:16

标签: google-chrome google-chrome-extension

尝试打开popup时,Chrome扩展程序崩溃了。 chrome://extensions/中显示错误消息:

This extension may have been corrupted.

enter image description here

其他功能,例如context menuoptions page效果很好。

仅在Chrome Store的版本中出现问题。开发人员模式下的调试版本工作正常。

基本上在一些chrome更新后可能会出现问题。因为扩展在很长一段时间内都运行良好,并且没有对代码进行任何更改。

我无法确定问题原因的主要问题,因为即使chrome logs也没有说明。

问题:

有没有办法找出问题的原因?也许为此目的存在一些特殊的日志?

是否有人在chrome中遇到过这样的问题并且能够修复它?

清单文件:

{
    "manifest_version": 2,

    "name": "ReportJ",
    "description": "The reporting helper for JIRA system.",
    "homepage_url": "https://github.com/mishani0x0ef/reportj",
    "version": "2.3.1",
    "permissions": ["storage", "activeTab", "contextMenus"],
    "background": {
        "scripts": ["config.js", "js/urlService.js", "lib/jquery.min.js", "js/jira.js", "background.js"]
    },
    "browser_action": {
        "name": "ReportJ",
        "default_icon": "img/logo.png",
        "default_title": "ReportJ",
        "options_page": "options.html",
        "default_popup": "popup.html"
    },
    "options_page": "options.html",
    "icons": {
        "16": "img/logo.png",
        "48": "img/logo.png",
        "128": "img/logo128x128.png"
    },
    "content_scripts": [{
        "js": ["lib/jquery.min.js"],
        "matches": ["*://*.localhost/*"]
  }]
}

1 个答案:

答案 0 :(得分:3)

如果扩展程序中的某些文件的大小是4096的倍数,则可能会点击bug#720597,已在Chrome 61中修复。

kingychiu's .py script来测试尺寸:

import os
import glob
size_dir = {}
for filename in glob.iglob('./**/*.*', recursive=True):
  size =os.path.getsize(filename)
  if size % 4096 == 0 and size != 0:
    size_dir[filename] = os.path.getsize(filename)

for name, size in size_dir.items():
  print(name, size)

Windows .bat文件:

@echo off
for /r %1 %%a in (*) do (
  setlocal enableDelayedExpansion
  set /a rem=%%~za %% 4096
  if !rem! == 0 echo %%a
  endlocal
)
pause

使用PowerShell的Windows .bat文件:

@powershell -c ^
  "gci -r $(if('%1'){'%1'+'\*'}else{''}) | ?{ $_.Length%%4096 -eq 0 } | %%{ $_.FullName }"
@pause