Как определить путь к ресурсам Firefox WebExtension, чтобы получить одинаковое значение в chrome.extension.getUrl () для разных пользователей?

Перед использованием нашего расширения пользователи должны войти в систему. Мы используем внешнего провайдера, который требует некоторых параметров. URL перенаправления среди них. Когда пользователь входит в систему, он будет перенаправлен на страницу, которая должна быть в файле xpi. Итак, мы должны точно знать, каков URL этой страницы. Этот URL-адрес должен быть добавлен в Белый список, и мы должны убедиться, что этот URL-адрес одинаков для всех пользователей.

Я установил расширение beastify (https://github.com/mdn/webextensions-examples/tree/master/beastify) на разных компьютерах. После нажатия на ту же кнопку я получаю разные пути к изображению: moz-extension: //1cb85296-3a66-42f5-85df-5caf7d388c56/beasts/frog.jpg для первого и moz-extension: // 2e986e2d-1307-49ee- a4d4-f83e642ecf66 / beasts / frog.jpg на секунду.

Что мне нужно сделать, чтобы получить одинаковое значение в chrome.extension.getUrl () для разных пользователей Firefox WebExtension?

UPD: это возможно в Chrome после установки «ключа» в manifest.json (но этот способ не работает в Firefox). Затем chrome.extension.getUrl (), chrome.runtime.id, chrome.extension.id вернет одно значение для разных пользователей / установок / устройств. Мне нужно такое же поведение в Firefox.

UPD2: https://bugzilla.mozilla.org/show_bug.cgi?id=1271663


person Karrsom    schedule 15.06.2016    source источник
comment
Что вам дает chrome.extension.getUrl('frog.jpg')? Это не дает вам пути?   -  person Noitidart    schedule 16.06.2016
comment
@Noitidart Да, это так. Но (!) Мне нужен один путь для разных установок моего расширения.   -  person Karrsom    schedule 17.06.2016


Ответы (2)


Сейчас 2020 год, но я могу сказать, что в Firefox внутренний UUID отличается для каждой установки из-за проблем с безопасностью. В браузере Chrome это не так.

person Hender    schedule 27.02.2020

Я думаю ты можешь использовать

browser.extension.getURL("/");
person Shweta Matkar    schedule 17.06.2016
comment
этот метод предоставляет разные пути для разных установок в Firefox, не решает проблему. - person Karrsom; 20.06.2016
comment
moz-extension: //1cb85296-3a66-42f5-85df-5caf7d388c56/beasts/frog.jpg в этом значении // 1cb85296-3a66-42f5-85df-5caf7d388c56 - это идентификатор, созданный firefox / chrome. Для разных устройств он разный. - person Shweta Matkar; 20.06.2016
comment
О нет. Это один путь для разных устройств в Chrome, если вы установите ключ в manifest.json. Этот путь вы можете использовать как chrome: //+chrome.runtime.id И chrome.runtime.id (в Chrome) не зависит от устройства. Мне нужно такое же поведение в Firefox. - person Karrsom; 20.06.2016
comment
О ... ок, тогда вы можете получить доступ к идентификатору firefox, используя browser.runtime.id - person Shweta Matkar; 20.06.2016
comment
Да, могу))) Но значение browser.runtime.id в Firefox у разных пользователей разное)))) - person Karrsom; 20.06.2016