2011-10-19 73 views
2

我開始學習如何對Safari擴展進行編程,不幸的是,蘋果的開發人員參考頁並沒有詳細描述。因此,我的問題:通過Safari擴展獲取選定文本

任何人都知道我可以如何傳遞用戶在變量中選擇的文本?我的擴展是一個上下文菜單元素,需要使用用戶從任何網頁中選擇的文本。

非常感謝您的幫助:)

回答

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()。toString()而不是window.getSelection()。 – canisbos