2013-04-21 4 views
5

Я построил небольшое расширение Chrome - он показывает вашу информацию о IP и геолокации. Я тестировал его несколько раз, упаковывал его (используя Grunt) и загружал в интернет-магазин Chrome. Я проверил несколько раз, что полученный zip-файл содержит все файлы, необходимые приложению + манифест.Сообщение об ошибке установки расширения Chrome

Затем я удалил локальную версию и попытался установить ее из интернет-магазина. Я получаю эту ошибку, даже после обновления, и перезапустить браузер несколько раз:

«. Было добавить этот элемент в Chrome Пожалуйста, обновите страницу и повторите попытку»

enter image description here

Как отлаживать/решить эту проблему?

  • Код моего продления очень прост и фактически открыт на GitHub.
  • Файл манифеста доступен here.
  • Расширение доступно в магазине Chrome here.

Update:

Глядя на консоли JS, я вижу ошибку каждый раз, когда я нажал на кнопку установки:

webstorePrivate.beginInstallWithManifest3: Invalid манифеста

Нет дополнительной информации, и для меня файл манифеста выглядит нормально (и он работает при загрузке локально).

ответ

3

Хорошо, потребовалось некоторое время, но я нашел преступника и исправил его. Я использовал 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 сценарий, даже если вам это не нужно. Кроме того, если вы, как и я, воспользуйтесь фоном стр., это сделает манифест недействительным.

По какой-то причине он будет работать локально, только не из магазина. Как только я прокомментировал эту строку, манифест действителен и доступно расширение.

+1

Я взял код непосредственно и не было никаких проблем, загружая его на месте, поэтому я пытался публиковать это для меня самого, и у меня нет проблем с установкой его из магазина, не меняя ничего, кроме ваших каталогов. Чтобы быть точным, я сделал ваш каталог 'app' корнем для расширения, когда я его застегнул. – BeardFist

+1

Да, это тоже озадачило меня. Если вы посмотрите на мое решение, вы увидите, что Gruntfile закалил манифест. Хорошей новостью является то, что тот, кто утверждает, что генератор уже это исправил. –

+1

Вы должны принять ваш ответ сейчас :) – Ryan

2

У меня была та же проблема. Я удалил:

"app": { 
    "urls": [ 
    ], 

Из файла Manifest.json и все работает. Надеюсь это поможет.

1

У меня была та же проблема, и я вошел в систему с proxy и проблема исправлена.

Попробуйте прокси-сервер, как я предполагаю.

Смежные вопросы