Javascript 从处理器输出创建对象以追加/替换子对象
正在尝试向xsl模板添加参数,以便在导航菜单中使用 试图找出如何使用IXSLProcessor留给我的输出 下面的代码非常适合FirefoxJavascript 从处理器输出创建对象以追加/替换子对象,javascript,internet-explorer,xslt,Javascript,Internet Explorer,Xslt,正在尝试向xsl模板添加参数,以便在导航菜单中使用 试图找出如何使用IXSLProcessor留给我的输出 下面的代码非常适合Firefox var xslStylesheet; var xsltProcessor = new XSLTProcessor(); var myDOM; var xmlDoc; var myXMLHTTPRequest = new XMLHttpRequest(); myXMLHTTPRequest.open("GET", "c
var xslStylesheet;
var xsltProcessor = new XSLTProcessor();
var myDOM;
var xmlDoc;
var myXMLHTTPRequest = new XMLHttpRequest();
myXMLHTTPRequest.open("GET", "client.xsl", false);
myXMLHTTPRequest.send(null);
xslStylesheet = myXMLHTTPRequest.responseXML;
xsltProcessor.importStylesheet(xslStylesheet);
// load the xml file
myXMLHTTPRequest = new XMLHttpRequest();
myXMLHTTPRequest.open("GET", "client.xml", false);
myXMLHTTPRequest.send(null);
xmlDoc = myXMLHTTPRequest.responseXML;
// set the parameter using the parameter passed to the outputgroup function
xsltProcessor.setParameter(null, "cid", client);
xsltProcessor.setParameter(null, "browser", "other");
var fragment = xsltProcessor.transformToFragment(xmlDoc,document);
document.getElementById("scriptHook").innerHTML = "";
document.getElementById("maincontent").replaceChild(fragment, document.getElementById("scriptHook"));
scroll(0,0);
这是我的代码(大部分是从msdn中盗取的)
感谢所有帮助,干杯。使用Mozilla,您可以在XSLT和DOM之间交换节点,但使用IE,您需要将XSLT转换结果作为字符串,并将其提供给IE的HTML解析器;所以对于你的样品,我想你想要
document.getElementById("scriptHook").outerHTML = xslproc.output;
它将用转换结果替换
scriptHook
元素。使用Mozilla,您可以在XSLT和DOM之间交换节点,但使用IE,您需要将XSLT转换结果作为字符串,并将其提供给IE的HTML解析器;所以对于你的样品,我想你想要
document.getElementById("scriptHook").outerHTML = xslproc.output;
它将用转换的结果替换
scriptHook
元素。outerHTML eh?我以前从未遇到过这个问题,这是MSXML独占成员吗?非常感谢你的回复,我会把它扔进去,看看它在哪里发挥作用。太棒了,它做到了。我实在想不出究竟为什么我没有想到这一点!干杯,伙计。outerHTML
是IE/MSHTMLDOM中的一个属性,从IE4开始,我认为现在其他浏览器也支持它,Firefox/Mozilla是最后一个引入它的浏览器(据说是因为HTML5指定了它)。感谢马丁,我承认我没有跟上HTML5规范的最新发展。outerHTML是吗?我以前从未遇到过这个问题,这是MSXML独占成员吗?非常感谢你的回复,我会把它扔进去,看看它在哪里发挥作用。太棒了,它做到了。我实在想不出究竟为什么我没有想到这一点!干杯,伙计。outerHTML
是IE/MSHTMLDOM中的一个属性,从IE4开始,我认为现在其他浏览器也支持它,Firefox/Mozilla是最后一个引入它的浏览器(据说是因为HTML5指定了它)。感谢马丁,我承认我没有跟上HTML5规范的最新发展。