1 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
我讓它工作。不得不使用消息傳遞并添加 JSON.stringify(info.selectionText); 這是我所做的,以防萬(wàn)一有人遇到同樣的問(wèn)題:
背景.js
var contextMenus = {};
//creates a context menu WHEN selection is made
contextMenus.createSelectText =
chrome.contextMenus.create(
{"title":"Search for '%s'",
"contexts": ["selection"],
},
function (){
if(chrome.runtime.lastError){
console.error(chrome.runtime.lastError.message);
}
}
);
chrome.contextMenus.onClicked.addListener(sendServiceRequest);
chrome.extension.onRequest.addListener(function(tab){
chrome.tabs.sendRequest(tab.id, {method: "getSelection"}, function(response){
sendServiceRequest(response.data);
});
});
function sendServiceRequest(info, selection) {
var serviceCall = 'https://news.google.com/search?q=' + JSON.stringify(info.selectionText);
chrome.tabs.create({url:serviceCall});
console.log(serviceCall);
}
內(nèi)容腳本.js
chrome.extension.onRequest.addListener(function(request, sender, sendResponse){
if(request.method == "getSelection")
else
sendResponse({});
})
添加回答
舉報(bào)