Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从处理器输出创建对象以追加/替换子对象_Javascript_Internet Explorer_Xslt - Fatal编程技术网

Javascript 从处理器输出创建对象以追加/替换子对象

Javascript 从处理器输出创建对象以追加/替换子对象,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

正在尝试向xsl模板添加参数,以便在导航菜单中使用

试图找出如何使用IXSLProcessor留给我的输出

下面的代码非常适合Firefox

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规范的最新发展。