Я только что построил хром-расширение. Он изменяет контекстное меню, используя следующие -Chrome Extension не работает в первые несколько раз
В сценарии содержания
document.addEventListener("mousedown", function(event){
if(event.button == 2) {
if (isNaN(window.getSelection().toString())){
chrome.extension.sendRequest({cmd: "createStringMenu"});
}
else {
chrome.extension.sendRequest({cmd: "createNumberMenu"});
}
}
}, true);
в фоновом режиме
chrome.extension.onRequest.addListener(function(request) {
if(request.cmd == "createStringMenu") {
chrome.contextMenus.removeAll(function() {
chrome.contextMenus.create({"title": "Send ' %s ' as SMS ", "contexts": ['selection'],"onclick": send_as_sms});
});
} else if(request.cmd == "createNumberMenu") {
chrome.contextMenus.removeAll(function() {
chrome.contextMenus.create({"title": "Send SMS to %s ", "contexts": ["selection"],"onclick": send_sms_to});
});
}
});
Всякий раз, когда расширение запускается в первый раз либо на недавно открытом браузере или когда расширение установлено (и обновлены веб-страницы), меню не создается. то и дальше.
Что мне делать? Что может быть причиной?
Вы имеете в виду первый раз после установки расширения или после перезапуска браузера (он начинается с новой закладки?). Попробуйте добавить некоторые протоколы отладки в оба сценария, чтобы увидеть, что называется, а что нет. – serg
Я имею в виду каждый раз после перезапуска браузера расширение перестает работать для первой попытки. – iamkhush