Получить локальный файл в папке расширения в Chrome - PullRequest
21 голосов
/ 04 октября 2011

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

Ответы [ 2 ]

30 голосов
/ 04 октября 2011

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

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

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

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

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

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

10 голосов
/ 09 января 2013

В 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"
],...}

(любезно предоставлено Джаури)

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