我想构建一个具有基本功能的插件:
这是我的插件的基本概念。
但我不知道构建它所需的步骤和技术。请帮我澄清一下。
答案 0 :(得分:1)
您可以使用page-mod,以便在特定页面(Facebook,Youtube)上登录时触发脚本,该脚本可以将数据(评论)传递给main
脚本,以便它可以发送使用类似net/xhr的内容关闭外部服务器。使用DOM元素保留请求是必要的,因此在响应时,主脚本可以与页面修改工作者进行通信,以使用相应的DOM元素替换响应文本。
答案 1 :(得分:0)
使用firefox-addon-sdk,有一个教程中的视频可以完成类似于你所说的内容,但它是谷歌翻译api:看到它here
在XUL中,首先你需要将扩展的基本结构放在一起。请参阅here,了解一个好的起点。
然后您可以通过选择文本并单击上下文菜单中的项目reference来获取文本:
<popup id="contentAreaContextMenu">
<menuitem id="yourMenuItem"
label="Name of your service"
insertafter="context-selectall"
oncommand="yourFunction();" />
</popup>
点击后会获得所选内容(reference):
var selectedText = doc.getSelection().toString();
alert(selectedText);
您通过xmlhttprequest(reference)调用您的Web服务,当响应到来时,您将所选文本更改为服务器返回的文本:
// textToReplace is the text that will replace the currently selected text
var doc = gBrowser.contentDocument;
var sel, range;
sel = doc.getSelection();
if (sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();
range.insertNode(doc.createTextNode(textToReplace));
}
您仍需要进行大量验证,但这是您需要做的事情。