【问题标题】:Getting selected text via Safari Extension通过 Safari 扩展获取选定的文本
【发布时间】:2011-10-21 09:22:37
【问题描述】:

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

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

非常感谢您的帮助:)

【问题讨论】:

    标签: javascript html safari 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 + '"');
        }
    }
    

    【讨论】:

    • 我的脚本工作,直到我添加这一行: safari.self.tab.setContextMenuEventUserInfo(event, window.getSelection());这甚至阻止了脚本继续执行下一个语句..
    • 试试 window.getSelection().toString() 而不是 window.getSelection()。
    猜你喜欢
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多