Я ввел код на каждую страницу, которую посещает пользователь.Но я хочу, чтобы этот скрипт запускался, когда пользователь щелкает контекстное меню, созданное тем же расширением.Короче говоря, я должен передать сообщение между background.html и скриптом содержимого, но триггер должен произойти при нажатии контекстного меню.
Вот что я пробовал
// background.html
function subFunction(info,tab){
var x = info.selectionText;
alert("x");//This is working fine
chrome.tabs.getSelected(null, function(tab) {
chrome.extension.sendRequest({"variable1":x,"type":"y"});
});
}
chrome.contextMenus.create({"title": "Submit", "onclick": subFunction,"contexts":['selection']});
// myscript.js
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
alert("Seems like I am in");
if(request.type == 'y'){
alert("This is" + request.x);
}
});
Может кто-нибудь сказать мне, где это происходит не так.Из того, что я понял, что-то не так с tabs.getSelected с tab.id в качестве первого параметра.Но поскольку источником клика является контекстное меню, возможно, оно не читает tab.id или не понимает, над какой вкладкой я работаю.