繁体   English   中英

Firefox扩展:获取所选文本

[英]Firefox Extension: Get selected text

我正在开发一个简单的Firefox扩展,我想获得所选的文本。 我试过这个:

var WordCount = {
    /* ... */
    changeSelected: function() {
        var selectedText = this.getSelection();
        var words = this.countWords(selectedText);
        this.changeStatus(words, " selected");
        //alert(selectedText);
    },
    getSelection: function(e) {
        var focused_window = document.commandDispatcher.focusedWindow;
        var sel_text = focused_window.getSelection();
        return sel_text.toString();    
    }
}
window.addEventListener("select", function(e) { WordCount.changeSelected(); }, false);

问题是,我没有得到document.commandDispatcher.focusedWindow.getSelection()的选择,我不知道为什么:(

你的问题是document.commandDispatcher.focusedWindow将指向一个chrome窗口,我怀疑你真的想要一个内容窗口。 尝试用content.getSelection()替换它

这适用于firefox javascripting,所以应该没问题

window.getSelection().toString();

我的猜测是document.commandDispatcher.focusedWindow失败了

这是一个普通的Firefox扩展还是JetPack Firefox扩展。

在JetPack中它会是

var doc = jetpack.tabs.focused.contentWindow;
if (doc.wrappedJSObject){ //This just checks if Firefox has put a XPCNativeWrapper around it for security
  win = doc.wrappedJSObject;
}

或者您可以直接使用window.getSelection()来访问窗口,如dcaunt建议的那样

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM