Подтвердить что ты не робот

Получить локальный файл внутри папки расширения в Chrome

Я знаю, что я не могу получить локальный файл из каталога расширения. Можно ли получить файл, который находится внутри самого каталога расширений?

4b9b3361

Ответ 1

Да, вы можете, но только если вы знаете путь к файлу; потому что нет способа получить список каталогов.

Если путь известен, chrome.extension.getURL вернет URL файла в области расширения.

NOTE

chrome.extension.getURL is deprecated since Chrome 58. Use chrome.runtime.getURL. – Thanks Winand!

Например: chrome.extension.getURL('some_folder/some_file.js') выводит что-то вроде этого:

chrome-extension://kfcphocilcidmjolfgicbchdfjjlfkmh/some_folder/some_file.js

Протокол chrome-extension плюс идентификатор расширения - это адрес корневой папки расширения. Обратите внимание, что эта функция будет возвращать URL-адрес, даже если путь указан неверно или файл не существует.

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

Ответ 2

В Chrome 17 или более поздней версии для этого необходимо включить раздел web_accessible_resources, чтобы разрешить вставлять изображение, упакованное в расширение, на веб-страницу. http://developer.chrome.com/extensions/manifest.html#web_accessible_resources

{...
"web_accessible_resources": [
"images/my-awesome-image1.png",
"images/my-amazing-icon1.png"
],...}

(любезно предоставлено jhaury)