我正在使用Firefox Addon SDK编写西班牙语词典插件。我想要做的是当鼠标悬停在文本上时,会弹出一个带有翻译的字典。不需要突出显示文本或右键单击(尽管有些词典使用此功能)。有几个程序使用旧的插件XUL格式(Rikaichan等)执行此操作,但我想知道是否有办法使用新SDK。
我目前的解决方法是在文本节点中的每个单词周围注入javascript标签以及onmouseover =“lookThisUp()”。这样可行,但是当我想检查成对时改变含义的单词(“起来”而不是“获取”)时会遇到并发症,因此不使用javascript标签切割所有文本的方法将是优先的。
答案 0 :(得分:1)
这是如何使用最新的导航器执行此操作的示例:浏览器窗口:
var {Cu} = require('chrome');
Cu.import('resource://gre/modules/Services.jsm');
var aDOMWindow = Services.wm.getMostRecentWindow('navigator:browser');
aDOMWindow.gBrowser.addEventListener('mouseover', isTextNode, true);
function isTextNode(event) {
var node = event.explicitOriginalTarget;
if (node.nodeName == '#text') {
Services.appShell.hiddenDOMWindow.console.log('moused over a text node = ',node,'the event:',event);
}
}
当您在最近的浏览器中将鼠标悬停在文本节点上时,它会将其记录到浏览器控制台。