Javascript 通过Safari扩展获取所选文本

Javascript 通过Safari扩展获取所选文本,javascript,html,safari,safari-extension,Javascript,Html,Safari,Safari Extension,我开始学习如何编写Safari扩展,不幸的是,苹果的开发者参考页面并没有详细说明。因此,我的问题是: 有人知道如何在变量中传递用户选择的文本吗?我的扩展名是一个上下文菜单元素,需要使用用户从任何网页中选择的文本 非常感谢您的帮助:)在您的注入脚本中,有如下语句: document.addEventListener('contextmenu', function () { safari.self.tab.setContextMenuEventUserInfo(event, window.g

我开始学习如何编写Safari扩展,不幸的是,苹果的开发者参考页面并没有详细说明。因此,我的问题是:

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


非常感谢您的帮助:)

在您的注入脚本中,有如下语句:

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

在添加以下行之前,我的脚本一直工作:safari.self.tab.setContextMenuEventUserInfo(事件,window.getSelection());这会阻止脚本继续执行下一个语句。请尝试window.getSelection().toString(),而不仅仅是window.getSelection()。