クローム拡張機能を作成しました。これは、使用してコンテキストメニューを変更し、次の -Chrome拡張機能は最初の数回は機能しません
コンテンツのスクリプトでは、バックグラウンドで
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});
});
}
});
拡張機能がインストールされている(およびWebページが更新されている)と、メニューは作成されません。その後、それはそうです。
どうすればよいですか?それを引き起こす原因は何ですか?
拡張機能をインストールした後、またはブラウザを再起動した後(初めて新しいタブページから開始されますか?)は初めてですか?両方のスクリプトにデバッグログを追加して、呼び出されたものと呼び出されていないものを確認してください。 – serg
ブラウザを再起動した後はいつも、拡張機能は最初の試行のために機能しなくなります。 – iamkhush