以下仅适用于 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(); }); });


