我尝试为firefox(android版本)
进行扩展当用户长按时,我需要选择文本。
我有这样的代码:
.....
Services.obs.addObserver(this, "Gesture:LongPress", false);
.....
observe: function(aSubject, aTopic, aData) {
if (aTopic == "Gesture:LongPress") {
var xw = this._xulWindow;
var document = xw.BrowserApp.selectedBrowser.contentDocument;
var selectedText = document.getSelection().toString();
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService);
prompts.alert(null, "ColorDict", selectedText);
}
}
....
但我得到空洞的警报。因为在LongPress处理程序完成后会选择word。 用户长按后如何才能获得选定的单词?
答案 0 :(得分:1)
这非常有趣。我插入
Services.obs.addObserver(this, "*", false);
istead
Services.obs.addObserver(this, "Gesture:LongPress", false);
它有效!!我用选定的单词看警报了!
我将在文档中搜索原因。谢谢!