栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将XML文档(通过ajax调用获得)渲染到新窗口

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将XML文档(通过ajax调用获得)渲染到新窗口

以下仅适用于 FireFox Opera ,但我认为值得一提。

window.open('data:text/xml,' + enpreURIComponent( jqXHR.responseText ) );

应该也可以与chrome一起使用,但是它似乎与

window.open
通常的URL有所不同。


更新 这适用于所有浏览器!

事实是,javascript能够使用xslt转换xml。
但不是自动完成的,因此我们需要找到XML文件作为对XSLT文件的引用,并加载该文件。然后,我们可以使用javascript进行转换,并将生成的html传递到新窗口。

IE自然会处理其他事情。

$.get('xml-file-here.xml',   function(xmlData){       var xml = xmlData;       //extract the stylesheet so we can load it manually       var stylesheet;        for (var i=0;i<xml.childNodes.length;i++){ if ( xml.childNodes[i].nodeName =='xml-stylesheet' ) {  stylesheet = xml.childNodes[i].data; }        }       var items = stylesheet.split('=');       var xsltFile = items[items.length-1].replace(/"/g,'');       //fetch xslt manually       $.get( xsltFile, function(xsltData){var xslt = xsltData;var transformed;if (! window['XSLTProcessor'])  {      // Trasformation for IE      transformed = xml.transformNode(xslt);  }  else  {      // Transformation for non-IE      var processor = new XSLTProcessor();      processor.importStylesheet(xslt);      var xmldom = processor.transformTodocument(xml);      var serializer = new XMLSerializer();      var transformed = serializer.serializeToString(xmldom.documentElement);  }var newwindow = window.open();newwindow.document.open();newwindow.document.write(transformed);newwindow.document.close();       });   });


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409911.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号