2011-10-19 2 views
2

Safari 확장 프로그램을 프로그래밍하는 방법을 배우기 시작했습니다. 불행히도 Apple 개발자 참조 페이지는 그다지 자세히 설명되어 있지 않습니다. 따라서 내 질문 :Safari Extension을 통해 선택한 텍스트 받기

누구든지 변수에서 사용자가 선택한 텍스트를 전달할 수있는 방법을 알고 있습니까? 내 확장 프로그램은 사용자가 웹 페이지에서 선택한 텍스트를 사용해야하는 상황에 맞는 메뉴 요소입니다.

는 다음과 같은 문이, 당신의 도움 :) 당신의 주입 스크립트에서

답변

1

주셔서 대단히 감사 : 글로벌 스크립트의 명령 처리기에서, 다음

document.addEventListener('contextmenu', function() { 
    safari.self.tab.setContextMenuEventUserInfo(event, window.getSelection()); 
}, false); 

를, 선택은 것이다 event.userInfo으로 액세스 할 수 있습니다, 그래서 당신은 다음과 같은 예를 들어, 사용할 수 있습니다 :

내가이 줄을 추가 할 때까지 내 스크립트가 작동
function handleCommand(event) { 
    if (event.command == 'myContextMenuCommand') { 
     alert('You selected: "' + event.userInfo + '"'); 
    } 
} 
+0

: safari.self.tab.setContextMenuEventUserIn fo (event, window.getSelection()); 스크립트가 다음 문장으로 이동하는 것을 방지합니다. – Anas

+0

window.getSelection() 대신 window.getSelection(). toString()을 사용하십시오. – canisbos