1

:크롬 확장에 선택한 텍스트가있는 태그를 찾을 수 있습니까? 나는 상황에 맞는 메뉴에서 항목을 추가 한 경우

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

어떻게 선택한 내용에 태그를 얻을 수 있습니다. my_function 공장 기능입니다 :

편집은 (선택은 내가 추측의 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; 
    }; 
}; 
관련 문제