2017-08-13 181 views
0

Chrome扩展程序在尝试打开popup时崩溃。错误信息出现在chrome://extensions/Chrome扩展程序在打开弹出窗口时损坏

This extension may have been corrupted. 

enter image description here

其他功能,如context menuoptions page工作正常。

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

基本上可能发生了一些铬更新后发生的问题。因为扩展长期以来一直运行良好,并且没有对代码进行任何更改。

主要问题,我没有信息来确定问题的原因,因为即使chrome logs什么也没说。

问题:

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

有没有人在铬面临这样的问题,并能够解决它?

清单文件:

{ 
    "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/*"] 
    }] 
} 
+2

为什么有'name'和''browser_action'内options_page'钥匙?他们不属于那里... –

+0

@IvánNokonoko你是对的。我已经删除它。然而,它不会帮助我的崩溃。 –

+0

您可能正在使用弃用的API。另外,我建议你在Chrome Canary中运行你的扩展。如果你有一个Linux,你可以尝试通过终端运行铬,它有这样的更详细的日志。 – Deliaz

回答

2

如果在扩展一些文件有大小是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 

的Windows .bat文件使用PowerShell的:

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