1

選択したテキストのタグをクロム拡張子で見つけることはできますか?私は、コンテキストメニューに項目を追加した場合

chrome.contextMenus.create({ 
"title" : chrome.i18n.getMessage("right_click") , 
"type" : "normal", 
"contexts" : ["selection"], 
"onclick" : my_function() // returns a callback function 
}); 

はどのようにして、選択したコンテンツとタグを取得することができます。 my_functionファクトリ関数です:

EDITは(選択は私が推測するそのinnerHTMLの一部である)、それは、イベントハンドラを返します。

答えて

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; 
    }; 
}; 
関連する問題