Можно ли получить доступ к localStorage из файла manifest.json? - PullRequest
0 голосов
/ 28 мая 2011

Я уверен, что это возможно, я просто не могу понять это.

Я создаю расширение Chrome и установил URL-адрес API, который зависит от пользователя, в localStorage ["url"]. Однако мне нужно добавить его в разрешения в моем файле manifest.json. Похоже, у меня нет доступа к localStorage в манифесте.

Есть ли способ сделать это?

Ответы [ 3 ]

1 голос
/ 28 мая 2011
нет

Нет

просто потому, что манифест в расширении Chrome является чистым JSON , что означает, что он анализируется только как текст и не может содержать другие типы данных или литералы, которые не разрешены строгим JSON технические характеристики. Таким образом, вы не можете включать функции, а также не можете иметь функцию, которая будет вызываться для возврата значения.

Вы также не можете даже вводить комментарии (на самом деле, кажется, что вы можете иметь комментарии сейчас, но это было не так раньше).

Способом достижения вашей цели будет также предоставление веб-службы, которая создает расширение по требованию. Он заполняет файл manifest.json для каждого пользователя, а также архивирует и подписывает ваше расширение. Но тогда его нельзя будет установить в Chrome Web Store, и вам придется разместить его самостоятельно.

1 голос
/ 28 мая 2011

Если вы беспокоитесь о перекрестных разрешениях , то все, что имеет значение в вашем URL-адресе API, - это домен.

Если у них общий домен, то просто объявите его в разрешениях.Если есть набор доменов, вы можете объявить список доменов через запятую.Если домены уникальны для каждого пользователя (сложно представить), то у вас нет другого выбора, кроме как объявить полный диапазон http://*/, что не является концом света.

0 голосов
/ 28 мая 2011

Я почти уверен, что это невозможно;вам придется установить URL-адрес API в файле, отличном от manifest.json, и запросить разрешения вручную.Причина, по которой это делается, состоит в том, чтобы избежать перехвата разрешений: если ваш localStorage скомпрометирован, то теоретически расширение может быть подключено для выполнения запросов в любом месте без вмешательства пользователя.

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