0

Я делаю короткое исследование об расширениях Chrome и Firefox. Я могу получить файл манифеста manifest.json расширения Chrome, установленного в моем браузере Chrome, с этим URL-адресом chrome-extension://<extension_id>/manifest.json. Есть ли эквивалентный URL-адрес Firefox, чтобы увидеть manifest.json расширения Firefox? N.B: Я уже пробовал префикс moz-extension://. Но это не работает.Как получить доступ к файлу manifest.json расширения Firefox?

+0

@wOxxOm Спасибо за ваше быстрое замечание. Я уже пробовал. Кажется, он не работает с префиксом 'moz-extension: //' – sajid

ответ

1

URL-адрес, используемый для файлов внутри WebExtensions дополнения в формате:

moz-extension://<extension UUID>/<pathToFileInExtension> 

Если вы в коде в расширении, вы можете получить URL к любому файлу в расширении с chrome.extension.getURL(). Это даст вам UUID для вашего расширения.

Если вы хотите получить доступ к файлу, введя его в строку URL-адреса интерфейса браузера Firefox, вам нужно будет получить UUID для желаемого расширения. Для WebExtensions сопоставление от идентификатора расширения до UUID доступно от about:config в extensions.webextensions.uuids. Значение для этого ключа - это JSON-форматированный объект с ключами, которые являются идентификаторами WebExtension, а значение для каждого ключа - это UUID WebExtensions.

Если вы желаете, чтобы вообще получить доступ к файлам в пределах определенного расширения, вы можете быть лучше найти расширения упакованного архив (обычно [extensionID] .XPI), который, как правило, находиться в вашем [profileDirectory]/расширения. Затем вам нужно будет распаковать архив (нормальный архив .zip с измененным расширением файла) для доступа к файлам. Выполнение этого может быть проще, чем пытаться просканировать файлы, введя их URL-адреса один за другим в строке URL.