阅读Firefox书签中的http-get演示文稿

时间:2008-09-02 17:39:52

标签: javascript firefox plugins xul

我正在尝试使用Firefox插件从HTTP get中读取数据,解析结果并将其作为链接显示在类似书签的下拉菜单中。

我的问题是:有没有人有任何示例代码可以做到这一点?

2 个答案:

答案 0 :(得分:2)

我自己从未开发过,我不确定这通常是如何在Firefox插件中完成的,但由于插件脚本是JavaScript,我可能会帮助加载部分。假设一个名为url的变量包含您要请求的URL:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, true);

xmlhttp.onreadystatechange = function() {
    if(this.readyState == 4) { // Done loading?
        if(this.status == 200) { // Everything okay?
            // read content from this.responseXML or this.responseText
        } else { // Error occurred; handle it
            alert("Error " + this.status + ":\n" + this.statusText);
        }
    }
};

xmlhttp.send(null);

关于此代码的几点说明:

  • 您可能需要更复杂的状态代码处理。例如,200不是唯一的非错误状态代码。有关状态代码的详细信息,请参见here
  • 你可能希望有一个超时来处理由于某种原因你没有在合理的时间内到达readyState 4的情况。
  • 您可能希望在收到早期的readyStates时执行操作。 This page记录了readyState代码,以及您可能觉得有用的XMLHttpRequest对象上的其他属性和方法。

答案 1 :(得分:0)

罗伯特沃克在描述how to send the request方面做得很好。您可以阅读有关Mozilla's xmlhttprequest here的更多信息。

我只想添加使用

找到响应(使用Robert的代码)
 xmlhttp.responseText

<击> 编辑 - 我没有仔细阅读,感谢Robert

虽然您提到要解析数据中的链接,但您没有准确指出数据是什么。您可以将xmlhttp.responseText作为xml文档,解析链接,并将其放入menulist或您喜欢的任何内容。