Получение выделенного текста через расширение Safari - PullRequest
2 голосов
/ 19 октября 2011

Я начал изучать, как программировать расширение Safari, и, к сожалению, справочные страницы Apple для разработчиков по этому вопросу не очень подробны. Отсюда и мой вопрос:

Кто-нибудь знает, как я могу передать выбранный пользователем текст в переменную? Мое расширение - это элемент контекстного меню, который должен использовать тот текст, который пользователь выбирает на любой веб-странице.

Большое спасибо за вашу помощь:)

1 Ответ

1 голос
/ 21 октября 2011

В вашем введенном скрипте есть утверждение, подобное следующему:

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 + '"');
    }
}
...