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

Как получить идентификатор моего расширения из JavaScript?

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

4b9b3361

Ответ 1

Вы можете получить его так (без дополнительных разрешений) двумя способами:

  • Использование runtime api: var myid = chrome.runtime.id;

  • Использование i18n api: var myid = chrome.i18n.getMessage("@@extension_id");

но вам не нужно это для открытия страниц, так как chrome.tabs.create() (и некоторые другие) понимают относительные пути.

Итак, чтобы открыть index.html из вашей папки расширения, вы должны просто использовать:

chrome.tabs.create({url: "index.html"});

Ответ 2

Если вы делаете материал с локализацией, похоже, механики расширения предлагают "nofollow" > placeholders для доступа к вашему идентификатору расширения:

Если вы просто пытаетесь получить доступ к URL-адресам для локальных файлов на своем расширении, вы можете просто использовать chrome.extension.getURL("some file name");

Если у вас есть еще одна причина, по которой вам действительно нужно знать идентификатор расширения, я не уверен, что есть прямой способ получить его из самого расширения. Два способа, которые приходят мне в голову, используют chrome.extension.getURL("some file name"), а затем разбор идентификатора расширения из возвращаемого URL-адреса - или используя chrome.management.getAll() и перейдя по всем установленным расширениям до тех пор, пока вы не найдете свое совпадение на name и затем получите доступ к id: