Javascript 构建以下插件所需的步骤和技术

Javascript 构建以下插件所需的步骤和技术,javascript,html,firefox-addon,xul,Javascript,Html,Firefox Addon,Xul,我想构建一个具有基本功能的插件: 从页面(访问等)获取文本(A),如评论 调用web服务函数处理此文本(A)并返回另一个文本(B) 将(A)替换为(B)并向用户显示 这是我的插件的基本思想 但我不知道构建它所需的步骤和技术。请帮我澄清一下 您可以使用一个脚本,以便在登录到特定页面(Facebook、Youtube)时触发脚本,该脚本可以将数据(评论)传送到main脚本,以便它可以通过类似的方式将其发送到外部服务器。有必要使用DOM元素保留请求,以便在响应时,主脚本可以与页面修改工作程序通信,

我想构建一个具有基本功能的插件:

  • 从页面(访问等)获取文本(A),如评论
  • 调用web服务函数处理此文本(A)并返回另一个文本(B)
  • 将(A)替换为(B)并向用户显示
这是我的插件的基本思想


但我不知道构建它所需的步骤和技术。请帮我澄清一下

您可以使用一个脚本,以便在登录到特定页面(Facebook、Youtube)时触发脚本,该脚本可以将数据(评论)传送到
main
脚本,以便它可以通过类似的方式将其发送到外部服务器。有必要使用DOM元素保留请求,以便在响应时,主脚本可以与页面修改工作程序通信,以用相应的DOM元素替换响应文本。

您可以使用,以便在登录到可以通信数据的特定页面(Facebook、Youtube)时触发脚本(评论)到
main
脚本,这样它就可以用类似的东西将其发送到外部服务器。需要用DOM元素保存请求,以便在响应时,主脚本可以与页面修改工作程序通信,以用相应的DOM元素替换响应文本。

使用firefox-addon-sdk,有一段视频来自一个教程,它完成了一些类似于您所说的内容,但它是通过google translate api实现的:看到了吗

在XUL中,首先需要将扩展的基本结构组合在一起。有关良好的起点,请参阅

然后,您可以通过选择文本并单击上下文菜单()中的一项来获取文本:

您可以通过xmlhttprequest()调用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));
}

你仍然需要做很多验证,但这正是你需要做的。

在firefox插件sdk中,有一个教程中的视频,它实现了与你所说的类似的功能,但它是通过google translate api实现的:看到了吗

在XUL中,首先需要将扩展的基本结构组合在一起。有关良好的起点,请参阅

然后,您可以通过选择文本并单击上下文菜单()中的一项来获取文本:

您可以通过xmlhttprequest()调用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));
}

您仍然需要进行大量验证,但这正是您需要做的。

谢谢。我非常感谢银行。我非常感谢
// 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));
}