代码之家  ›  专栏  ›  技术社区  ›  Tnilsson

从firefox书签中的http get演示中读取

  •  2
  • Tnilsson  · 技术社区  · 16 年前

    我正试图让一个firefox插件从http get读取数据,解析结果,并在类似书签的下拉菜单中将它们作为链接呈现出来。

    我的问题是:有人有什么样的代码可以做到这一点吗?

    2 回复  |  直到 10 年前
        1
  •  2
  •   Robert J. Walker    10 年前

    我自己从来没有开发过一个插件,我不确定这通常是如何在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 .
    • 您可能希望有一个超时时间来处理这样的情况:由于某种原因,您无法在合理的时间内重新阅读ystate4。
    • 当收到早期的readyStates时,您可能需要执行一些操作。 This page 记录readystate代码,以及xmlhttprequest对象上可能有用的其他属性和方法。
        2
  •  0
  •   Community CDub    7 年前

    罗伯特·沃克在描述 how to send the request . 你可以阅读更多关于 Mozilla's xmlhttprequest here .

    我只想补充一点,响应将被发现(使用robert的代码)使用

     xmlhttp.responseText
    

    ( 编辑-我读得不够仔细,谢谢罗伯特 )

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