Я работаю над хром-приложением и его в основном выполнил, однако я добавляю код на сайт моего клиента, чтобы определить, установлено ли приложение на хром или нет.Ошибка синтаксиса Chrome Manifest.json
Для этого мне нужно проверить наличие файла «manifest.json», чтобы определить, установлено ли оно или нет.
Я использую следующий код, который я получил от другого публикуемую вопроса здесь:
function detectChromeExtension(extensionId, accesibleResource, callback){
if (typeof(chrome) !== 'undefined'){
var xmlHttp = new XMLHttpRequest(),
testUrl = 'chrome-extension://' +extensionId +'/' +accesibleResource;
xmlHttp.open('HEAD', testUrl, true);
xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlHttp.timeout = 1000;
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && typeof(callback) == 'function') {
if (xmlHttp.status == 200) {
callback.call(this, true);
} else {
callback.call(this, false);
}
}
}
xmlHttp.ontimeout = function() {
if (typeof(callback) == 'function')
callback.call(this, false);
}
xmlHttp.send();
} else {
if (typeof(callback) == 'function')
callback.call(this, false);
}
};
detectChromeExtension('gcjbmhbihobfgpjmfbooldocijijdpig', 'manifest.json', myCallbackFunction);
function myCallbackFunction(extensionExists) {
if (extensionExists){
console.log('Extension present');
} else {
console.log('Extension not present');
}
}
Проверив хромированную консоль я получаю следующий результат:
Лишить груз хромированного расширения: //gcjbmhbihobfgpjmfbooldocijijdpig/manifest.json. Ресурсы должны быть указаны в файле манифеста web_accessible_resources, чтобы быть загруженным страницами за пределами расширения.
, поэтому, чтобы исправить это, я пытаюсь добавить «web_accessible_resources»: ["manifest.json"] в мой manifest.json, но он говорит мне, что эта строка не соответствует синтаксису.
Вот полный manifest.json:
{
"name": "Watch TBR",
"version": "1.0",
"manifest_version": 2,
"default_locale": "en",
"description": "Easy access to WatchTBR.com",
"icons": { "128": "icon_128.png", "16": "icon_16.png" },
"app": {
"urls": [
"http://www.watchtbr.com/"
],
"launch": {
"web_url": "http://www.watchtbr.com/"
}
},
"web_accessible_resources": ["manifest.json"],
"permissions":["http://www.watchtbr.com"]
}
Любая помощь по этому вопросу очень ценится.
Тогда как Crackle.com обнаружил, что у меня нет установленного приложения и попросить меня установить его? –
http://stackoverflow.com/a/9314807/344467 Вы можете увидеть это, посмотрев исходный код JS этого сайта. – sowbug
вот в чем проблема. Источник Crackle - тарабарщина. Я не могу найти код JS, который они используют, чтобы вытащить это всплывающее окно. Я попробую ссылку, которую вы опубликовали –