Firefox addon 如何在firefox插件中从nsIXMLHttpRequest呈现HTML?

Firefox addon 如何在firefox插件中从nsIXMLHttpRequest呈现HTML?,firefox-addon,Firefox Addon,我正在向一个可以返回HTML内容的服务发送nsIXMLHttpRequest。我可以在多行文本框中显示原始HTML,但我希望能够在我的插件中显示呈现的HTML(最好在xul选项卡面板中) 是否有一个控件可以用来执行此操作?看起来唯一呈现HTML的东西是从URL获取输入,我需要它以某种方式来自javascript变量 *编辑:在发布几分钟后找到了答案,很抱歉*您实际上不需要使用接口,因为JavaScript XMLHttpRequest实现可以正常工作: 这里有一个例子: var-req=new

我正在向一个可以返回HTML内容的服务发送nsIXMLHttpRequest。我可以在多行文本框中显示原始HTML,但我希望能够在我的插件中显示呈现的HTML(最好在xul选项卡面板中)

是否有一个控件可以用来执行此操作?看起来唯一呈现HTML的东西是从URL获取输入,我需要它以某种方式来自javascript变量


*编辑:在发布几分钟后找到了答案,很抱歉*

您实际上不需要使用接口,因为JavaScript XMLHttpRequest实现可以正常工作:

这里有一个例子:

var-req=new-XMLHttpRequest();
请求打开('GET','http://www.mozilla.org/",对),;
req.onreadystatechange=功能(aEvt){
如果(req.readyState==4){
如果(请求状态==200)
dump(req.responseText);//您的HTML在此变量中
//由于元素是HTML元素,因此可以使用HTMLDOM方法
document.getElementById(“容器”).innerHTML=req.responseText;
其他的
转储(“加载页面时出错”);
}
};
请求发送(空);

实际上,您不需要使用这些接口,因为JavaScript XMLHttpRequest实现可以正常工作:

这里有一个例子:

var-req=new-XMLHttpRequest();
请求打开('GET','http://www.mozilla.org/",对),;
req.onreadystatechange=功能(aEvt){
如果(req.readyState==4){
如果(请求状态==200)
dump(req.responseText);//您的HTML在此变量中
//由于元素是HTML元素,因此可以使用HTMLDOM方法
document.getElementById(“容器”).innerHTML=req.responseText;
其他的
转储(“加载页面时出错”);
}
};
请求发送(空);
这意味着我可以将它加载到iframe中,firefox将在其中渲染它。直接从


这意味着我可以将它加载到iframe中,firefox将在其中渲染它。直接从。

它特别地将responseText呈现为我感兴趣的HTML。它特别地将responseText呈现为我感兴趣的HTML。这仍然是一个有价值的问题,即使你已经找到了答案。在StackOverflow上有答案可以让下一个试图搜索答案的人更容易找到答案。这仍然是一个有价值的问题,即使你已经找到了答案。在StackOverflow上有答案可以让下一个试图搜索答案的人更容易找到答案。
var req = new XMLHttpRequest();
req.open('GET', 'http://www.mozilla.org/', true);
req.onreadystatechange = function (aEvt) {
    if (req.readyState == 4) {
        if(req.status == 200)

            dump(req.responseText);   // your HTML is in this variable

            // since the element is an HTML element, you can use HTML DOM methods
            document.getElementById("container").innerHTML = req.responseText;

        else
            dump("Error loading page\n");
        }
    };
req.send(null);


<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        xmlns:html="http://www.w3.org/1999/xhtml"
    ...
    <tabbox>
        <tabs>
            <tab label="Mail"/>
            <tab label="News"/>
        </tabs>
        <tabpanels>
            <tabpanel id="mailtab">
                <checkbox label="Automatically check for mail"/>
            </tabpanel>
            <tabpanel id="newstab">

                <!-- HTML div container embedded in XUL -->
                <html:div id="container"></html:div>

            </tabpanel>
        </tabpanels>
    </tabbox>
iframe.setAttribute("src", "data:text/html," + encodeURIComponent(xmlHttpRequest.responseText));