Я пытаюсь определить, установлено ли мое расширение Chrome с помощью js, выполненной на моем сайте. Я нашел несколько примеров, некоторые из которых я даже не понимаю или мог заставить их работать. То, что я пробовал и вроде работало, это добавление элементов в DOM или изменение какого-либо свойства css. Например:
На моей фоновой странице расширения у меня есть:
function changeBG(tab){
chrome.tabs.executeScript(tab.id, {
code: ' document.body.bgColor="red" '
});
}
chrome.tabs.onUpdated.addListener(changeBG);
На моем сайте:
<script>
alert(document.body.bgColor);
</script>
Фон становится красным, но .bgColor имеет значение null, потому что я пытаюсь прочитать его в верхней части кода моего веб-сайта, как только страница начинает загружаться. После загрузки страницы я могу прочитать ее, и она возвращает «красный». (то же самое происходит, если вставить элемент на страницу, а затем попытаться прочитать innerHTML или свойство элемента).
Но я не хочу ждать загрузки или чего-либо еще, потому что мой контент зависит от того, установлено расширение или нет.
Я также попробовал метод загрузки изображения из содержимого расширения, но еще раз это косвенный ¿асинхронный? способ.
Я не хочу «менять» содержимое, Я хочу знать, установлено ли расширение, прежде чем продолжать загружать что-либо еще на мой сайт .
Кто-нибудь знает, как я мог это сделать?