Прочитайте манифест другого расширения Chrome - PullRequest
0 голосов
/ 02 ноября 2011

Я работаю над модульным расширением, которое может быть расширено другими расширениями. Я ищу способ прочитать расширение manifest.json или, возможно, пользовательский файл, например widgets.json.

Я пытался это , даже с разрешением <all_urls>, но, к сожалению, столкнулся с этой ошибкой:

XMLHttpRequest cannot load chrome-extension://aknpkdffaafgjchaibgeefbgmgeghloj/manifest.json. Cross origin requests are only supported for HTTP.

Есть ли другой способ, которым я мог бы обмениваться небольшими, простыми битами данных между расширениями? В настоящее время я использую chrome.extension.sendRequest, но это оказывается налогом на память в background.html. Кроме того, благодаря этому размещенные приложения не могут вставлять виджеты в свое приложение.

Я бы очень признателен за любую помощь.

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

1 Ответ

3 голосов
/ 02 ноября 2011

Вредоносные расширения могут легко привести к уязвимости.

Именно поэтому Chrome не позволяет одному расширению заглядывать в сад другого.

Так что нет, Chromium не поддерживает это. У вас есть несколько вариантов:

  1. Подайте запрос на расширение, который реализует «точки расширения», которые позволяют различным расширениям взаимодействовать друг с другом без дополнительного внешнего сервера.

  2. Совместное использование данных во время сборки: создайте расширение скелета, которое содержит общие данные, и создайте все «дочерние» расширения, используя один и тот же скелет. Это означает, что вам придется развертывать все расширения одновременно, и это не позволит вашим расширениям обмениваться данными времени выполнения, но это может помочь.

  3. Создайте внешний сервер, который позволит всем вашим расширениям общаться друг с другом. Наверное, нереально, просто ради полноты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...