В документации Chrome здесь указано, что в вашем манифесте расширения необходимо добавить следующее:
{
"name": "My externally connectable extension",
"externally_connectable": {
// Extension and app IDs. If this field is not specified, no
// extensions or apps can connect.
"ids": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
],
"matches": [
"https://*.example.com/*",
],
},
}
Далее будет сказано, что для отправки сообщения отна вашем веб-сайте в расширение Chrome, вам необходимо передать идентификатор расширения в качестве первого параметра функции sendMessage
// The ID of the extension we want to talk to.
var editorExtensionId = "abcdefghijklmnoabcdefhijklmnoabc";
// Make a simple request:
chrome.runtime.sendMessage(editorExtensionId, {openUrlInEditor: url},
function(response) {
if (!response.success)
handleError(url);
});
В этом и заключается проблема.Когда установлено расширение Chrome, ему присваивается случайный идентификатор.Например, в моей разрабатываемой сборке мой ПК-инсталлятор имеет другой идентификатор, чем мой MacOS-инсталлятор.Таким образом, расширение работает только на платформе с правильным идентификатором.
Когда я загружаю расширение в хранилище Chrome, как я узнаю, какой идентификатор он получает, чтобы определить этот идентификатор вфайл манифеста моих расширений и на моем сайте?