我构建了一个小型Chrome扩展程序 – 它显示了您的IP和地理位置信息.
我测试了几次,将其打包(使用Grunt)并上传到Chrome网上商店.
我几次验证了生成的zip文件包含应用程序清单所需的所有文件.
然后我删除了我的本地版本,并尝试从网上商店安装.即使刷新后,我仍然会收到此错误,并多次重新启动浏览器:
“There was a problem adding this item to Chrome. Please refresh the
page and try again.”
我该如何调试/解决这个问题?
>我的扩展程序的代码非常简单,实际上是在GitHub上打开的.
>清单文件可用于here.
>该扩展程序可在Chrome商店here上找到.
更新:
查看JS控制台,每次按下安装按钮时都会看到错误:
webstorePrivate.beginInstallWithManifest3: Invalid manifest
没有进一步的信息,对我来说清单文件看起来没问题(它在本地加载时有效).
解决方法:
好的,花了一段时间,但我找到了罪魁祸首并修复了它.
我使用Yeoman和Generator-Chrome-Extension来引导扩展. Gruntfile.js中的任务之一如下所示:
grunt.registerTask('manifest', function() {
var manifest = grunt.file.readJSON(yeomanConfig.app + '/manifest.json');
//manifest.background.scripts = ['scripts/background.js'];
grunt.file.write(yeomanConfig.dist + '/manifest.json', JSON.stringify(manifest, null, 2));
});
正如您在第三行(注释)中看到的那样,任务会注入一个background.js脚本,如果您不需要它.此外,如果您像我一样使用背景页面,则会使清单无效.
出于某种原因,它将在本地工作,而不是从商店.一旦我评论该行,清单就有效,并且扩展可用.