如果我在上下文菜单中添加了一个项目:
chrome.contextMenus.create({
"title" : chrome.i18n.getMessage("right_click") ,
"type" : "normal",
"contexts" : ["selection"],
"onclick" : my_function() // returns a callback function
});
如何获取包含所选内容的标记。
(选择是innerHTML
我猜的一部分)
编辑:
my_function
是一个工厂函数:它返回一个事件处理程序。
答案 0 :(得分:2)
您可以注入内容脚本并从脚本中询问选择。
content.js:
function getSel() {
//get text
var sel = window.getSelection().toString();
//or get parent tag for selection
//var sel = window.getSelection().getRangeAt(0).commonAncestorContainer;
if (sel) {
chrome.extension.sendRequest({
msg: 'data',
sel: sel
});
};
};
background.js:
var selText;
function onClickFunction(info, tab) {
chrome.tabs.executeScript(
tab.id,
{code: 'getSel()', allFrames: true},
function () {
//do anything with selText
}
);
};
chrome.extension.onRequest.addListener(function (request, sender, response) {
if (request.msg == 'data') {
selText = request.sel;
};
};