通过Safari Extension获取所选文本

时间:2011-10-19 18:34:06

标签: javascript html safari safari-extension

我开始学习如何编写Safari扩展程序,不幸的是Apple的开发人员参考页面并没有真正详细。因此我的问题是:

任何人都知道如何在变量中传递用户选择的文本?我的扩展是一个上下文菜单元素,需要使用用户从任何网页中选择的文本。

非常感谢你的帮助:))

1 个答案:

答案 0 :(得分: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 + '"');
    }
}