Я создал расширение, и я пытаюсь определить, существует ли это расширение в одном из моих виртуальных хостов.Могу ли я определить, существует ли расширение из веб-страницы?
Вот код для обнаружения, если расширение существует или нет: (script.js
)
var detect = function(base, if_installed, if_not_installed) {
var s = document.createElement('script');
s.onerror = if_not_installed;
s.onload = if_installed;
document.body.appendChild(s);
s.src = base + '/manifest.json';
};
detect('chrome-extension://' + "myExtensionId", function() {alert('boom!');},
function() {alert("buf. nothin")});
Когда я открываю виртуальные хосты в браузере он предупреждает меня: ЬиЕ. Ничего и в журнале консоли появляется эта ошибка:
- Лишить груз хромированного расширения: //myExtensionId/manifest.json. Ресурсы должны быть перечислены в проявленном ключе web_accessible_resources для того, чтобы быть загружены страницами за пределами расширения
Если я нажимаю расширение, которое я создал, он предупреждает бума и я не получаю никаких ошибок, так что означает, что в расширении он обнаруживает мое расширение, но внутри моего виртуального хоста это не так.
Таким образом, можно определить, существует ли расширение в пределах расширения, , но можно определить, существует ли расширение из веб-страницы?
сообщение об ошибке четко объясняет, что [проблема] (https://developer.chrome.com/extensions/manifest/web_accessible_resources). Но я рекомендую использовать подход в ответе @ Daniel @ – minj
, это сообщение об ошибке сохранялось даже в этом файле в файле manifest.json: '' web_accessible_resources ": [ "/* " ]'. –
Я не думаю, что это действительный глобус. Попробуйте '[" * .json "," scripts/*. Js "]' или аналогичный – minj