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