https://stackoverflow.com/questions/17567624/pass-a-parameter-to-a-content-script-injected-using-chrome-tabs-executescript
chrome.tabs.executeScript 可以嵌套,通过 code 属性把变量注入 file。
选中文字右键菜单传值给 content.js
background.js
function textOnClick(info, tab) {
console.log("info: " + JSON.stringify(info));
text = info.selectionText;
console.log(text);
chrome.tabs.executeScript(tab.id,
{ code: 'var text = "' + text + '";' },
function() { chrome.tabs.executeScript(tab.id, { file: 'content.js' }); }
);
}
var menu = chrome.contextMenus.create({"title": "搜索文字", "contexts":["page","selection"], "onclick": textOnClick });
content.js
console.log(text);
if (text == 'undefined') {
showAll(true);
} else {
search(text);
}