Как определить расширение в браузере?
Я пытаюсь определить, установлено ли расширение в браузере пользователя.
Я попробовал это:
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://' + addon_id_youre_after, function() {alert('boom!');});
Если в браузере установлено расширение, я получу сообщение об ошибке:
Ресурсы должны быть перечислены в ключе манифеста web_accessible_resources, чтобы их могли загружать страницы за пределами расширения.
GET chrome-extension: // неверный net :: ERR_FAILED
Если нет, я получу другую ошибку.
GET chrome-extension: //addon_id_youre_after/manifest.json net :: ERR_FAILED
Вот изображение ошибок, которые я получаю:
Я пытался отловить ошибки(Скрипка)
try {
var s = document.createElement('script');
//s.onerror = window.setTimeout(function() {throw new Error()}, 0);
s.onload = function(){alert("installed")};
document.body.appendChild(s);
s.src = 'chrome-extension://gcbommkclmclpchllfjekcdonpmejbdp/manifest.json';
} catch (e) {
debugger;
alert(e);
}
window.onerror = function (errorMsg, url, lineNumber, column, errorObj) {
alert('Error: ' + errorMsg + ' Script: ' + url + ' Line: ' + lineNumber
+ ' Column: ' + column + ' StackTrace: ' + errorObj);
}
Пока я не могу отловить ошибки ..
Любая помощь будет оценена