2013-09-24 3 views
0

텍스트를 거꾸로 뒤집어서, 무지개 등으로 빠르게 바꿀 수있는 도구가 포함 된 Google 크롬 확장 프로그램을 만들고 있으며 해당 도구가 완벽하게 작동하는 브라우저 동작이 있지만 상황을 원합니다. 메뉴를 사용하면 텍스트 상자/영역 선택에서 해당 도구 중 하나를 사용할 수 있습니다. 나는 학교 휴일 때문에 여가 시간이 많지만 어떻게하는지 생각할 수 없으며 Google이나 스택 오버플로에서 답변을 찾을 수 없습니다. 컨텍스트 메뉴를 만드는 방법을 알아 냈고 배경 스크립트에서 선택한 텍스트를 수정하는 방법을 알아야합니다.Chrome 확장 프로그램의 상황에 맞는 메뉴 - 텍스트 상자 선택 수정

TL : DR : 상황에 맞는 메뉴를 사용하여 텍스트 상자/영역에서 선택한 텍스트를 수정하려면 어떻게해야합니까?

(나는 또한 jQuery를 사용하고 있습니다.)

답변

0

난 당신이 jQuery caret plugin를 사용할 필요가 같아요.

코드는 아래 (검증되지 않은)처럼

replaceselector.js 보일 수 있습니다

: 대상 탭

function replaceSelection(selector, replaceText) { 
    var input = $(selector); 
    var text = input.text(); 
    input.text(text.substr(0, input.caret().start) + replaceText + text.substr(input.caret().end); 
} 

를 주입 content scripts 다음 배경 페이지에서 execScript를 호출

chrome.tabs.executeScript(tabid, {file: "jquery.min.js"} function() { 
    chrome.tabs.executeScript(tabid, {file: "jquery.caret.1.02.min.js"} function() { 
     chrome.tabs.executeScript(tabid, {file: "replaceSelector.js"} function() { 
      chrome.tabs.executeScript(tabid, {code: "replaceSelection('#myInputBox', 'Replace String');"}); 
     }); 
    }); 
}); 
+0

감사하지만, 기본적으로 무엇을 내가 알고 싶은 것은 백그라운드 스크립트에서 그걸하는 방법입니다. Chrome 확장 프로그램을 개발한지 얼마되지 않아 현재 페이지를 수정하는 확장 프로그램을 만들지 않았습니다. 페이지에 코드를 삽입해야합니까? 아니면 백그라운드 스크립트에서 페이지의 DOM에 액세스 할 수 있습니까? –

+0

콘텐트 스크립트 실행 샘플로 내 대답 업데이트 – Andrey

관련 문제