如何在IE 8和Chrome中使用JavaScript和三个XML文件显示XSLT? [英] How to display XSLT in IE 8 and Chrome with javascript and three XML files?

查看:90
本文介绍了如何在IE 8和Chrome中使用JavaScript和三个XML文件显示XSLT?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Internet Explorer 8:
Google Chrome 13:
Javascript:
XSLT:
XML:



IE 8没有任何东西出现,但歌剧和Firefox都很好。当我在Chrome 13.1中加载JavaScript时,第一个xml文档出现,第二个和第三个文档根本不显示。我正在引用xslt文件中的三个xml文件。 javascript来自w3shools。
如何让这些内容填充到IE和Chrome?

 文件:
load_xml_javascript.html
delivery_and_activity.xsl
delivery.xml
activity.xml
click_through.xml

load_xml_javascript.html

 < html> 
< head>
< script>
函数loadXMLDoc(dname)
{
if(window.XMLHttpRequest)
{
xhttp = new XMLHttpRequest();
}
else
{
xhttp = new ActiveXObject(Microsoft.XMLHTTP);
}
xhttp.open(GET,dname,false);
xhttp.send();
return xhttp.responseXML;
}

function displayResult()
{
xml = loadXMLDoc(delivery.xml);
xsl = loadXMLDoc(delivery_activity_clickthrough.xsl);
//代码为IE
if(window.ActiveXObject)
{
ex = xml.transformNode(xsl);
document.getElementById(example)。innerHTML = ex;
}
// Mozilla,Firefox,Opera等的代码
else if(document.implementation&&document.implementation.createDocument)
{
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById(example)。appendChild(resultDocument);
}
}
< / script>
< / head>
< body onLoad =displayResult()>
< div id =example/>
< / body>
< / html>

delivery_and_activity.xsl

 <?xml version =1.0encoding =utf-8?> 
<! - DWXMLSource =delivery.xml - >
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp&#160;>>
<!ENTITY copy&#169;>>
<!ENTITY reg&#174;>
<!ENTITY trade&#8482;>>
<!ENTITY mdash&#8212;>
<!ENTITY ldquo&#8220;>>
<!ENTITY rdquo&#8221;>>
<!ENTITY pound&#163;>
<!ENTITY yen&#165;>>
<!ENTITY euro&#8364;>
]>
< xsl:stylesheet version =1.0xmlns:xsl =http://www.w3.org/1999/XSL/Transform>
< xsl:output method =htmlencoding =utf-8doctype-public = - // W3C // DTD XHTML 1.0 Transitional // ENdoctype-

系统= http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd/>
< xsl:template match =/>
< html xmlns =http://www.w3.org/1999/xhtml>
< head>
< title>交货摘要< / title>
< / head>
< body>
< h2 style =margin:25px 0px -20px 30px; color:#003399;> Delivery Summary< / h2>
< table style =margin:25px; font-family:'Lucida Sans Unicode','Lucida Grande',sans-serif; text-align:left; font-size:12px;

border-collapse:collapse>
< thead>
< tr>
< th width =165height =30scope =colstyle =background:#b9c9fe url('left.png')left -1px no-repeat; color:#003399;

padding:8px;>类型< / th>

#003399;>总计< / th>
< / tr>
< / thead>
< tfoot>
< / tfoot>
< tbody>
< xsl:for-each select =DELIVERY / SUMMARY>
< tr>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =TITLE/>< / td>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =ATTEMPTED/>< / td>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =TOTAL/>< / td>
< / tr>
< / xsl:for-each>
< / tbody>
< / table>
< h2 style =margin:25px 0px -20px 30px; color:#003399;>活动摘要< / h2>
< table style =margin:25px; font-family:'Lucida Sans Unicode','Lucida Grande',sans-serif; text-align:left; font-size:12px;

border-collapse:collapse>
< thead>
< tr>
< th width =165height =30scope =colstyle =background:#b9c9fe url('left.png')left -1px no-repeat; color:#003399;

padding:8px;>类型< / th>

#003399;>总计< / th>
< / tr>
< / thead>
< tfoot>
< / tfoot>
< tbody>
< xsl:for-each select =document('activity.xml')/ ACTIVITY / SUMMARY>
< tr>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =TITLE/>< / td>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =ATTEMPTED/>< / td>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =TOTAL/>< / td>
< / tr>
< / xsl:for-each>
< / tbody>
< / table>
< h2 style =margin:25px 0px -20px 30px; color:#003399;>点击通过报告< / h2>
< table style =margin:25px; font-family:'Lucida Sans Unicode','Lucida Grande',sans-serif; text-align:left; font-size:12px;

border-collapse:collapse>
< thead>
< tr>
< th width =165height =30scope =colstyle =background:#b9c9fe url('left.png')left -1px no-repeat; color:#003399;

padding:8px;>类型< / th>

#003399;>总计< / th>
< / tr>
< / thead>
< tfoot>
< / tfoot>
< tbody>
< xsl:for-each select =document('click_through.xml')/ ACTIVITY / SUMMARY>
< tr>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =URL/>< / td>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =UNIQUE/>< / td>
< td style =background:#e8edff; color:#003399; padding:8px; border-top:1px solid #fff;>< xsl:value-of

select =TOTAL/>< / td>
< / tr>
< / xsl:for-each>
< / tbody>
< / table>
< / body>
< / html>
< / xsl:template>
< / xsl:stylesheet>

delivery.xml

 <?xml version =1.0encoding =ISO-8859-1?> 

< DELIVERY>
<概要>
< TITLE>试图传送< / TITLE>
< ATTEMPTED> 100< / ATTEMPTED>
< TOTAL> 21256< / TOTAL>
< / SUMMARY>
<概要>
< TITLE> Hard Bounces< / TITLE>
< ATTEMPTED> .68< / ATTEMPTED>
< TOTAL> 145< / TOTAL>
< / SUMMARY>
<概要>
< TITLE> Soft Bounces< / TITLE>
< ATTEMPTED> 4.48< / ATTEMPTED>
< TOTAL> 953< / TOTAL>
< / SUMMARY>
<概要>
< TITLE>成功投放< / TITLE>
< ATTEMPTED> 94.8< / ATTEMPTED>
< TOTAL> 20158< / TOTAL>
< / SUMMARY>
< / DELIVERY>

activity.xml

 <?xml version =1.0encoding =ISO-8859-1?> 
<! - 由XMLSpy®编辑 - >
< ACTIVITY>
<概要>
已打开< / TITLE> <br/>< ATTEMPTED> 22.96< / ATTEMPTED> <br/>< TOTAL> 4629< / TOTAL> <br/>< / SUMMARY> <br/><概要> <br/>< TITLE>点击通过< / TITLE> <br/>< ATTEMPTED> 4.10< / ATTEMPTED> <br/>< TOTAL> 829< / TOTAL> <br/>< / SUMMARY> <br/><概要> <br/>< TITLE>已回覆< / title> <br/>< ATTEMPTED> 0.12< / ATTEMPTED> <br/>< TOTAL> 24< / TOTAL> <br/>< / SUMMARY> <br/><概要> <br/>< TITLE>取消订阅< / title> <br/>< ATTEMPTED> 0.25< / ATTEMPTED> <br/>< TOTAL> 51< / TOTAL> <br/>< / SUMMARY> <br/><概要> <br/>< TITLE>转发< / TITLE> <br/>< ATTEMPTED> 0.00< / ATTEMPTED> <br/>< TOTAL> 0< / TOTAL> <br/>< / SUMMARY> <br/><概要> <br/>< TITLE>订阅的< / TITLE> <br/>< ATTEMPTED> 0.00< / ATTEMPTED> <br/>< TOTAL> 0.00< / TOTAL> <br/>< / SUMMARY> <br/><概要> <br/>< TITLE> SpamComplaints< / TITLE> <br/>< ATTEMPTED> 0.3< / ATTEMPTED> <br/>< TOTAL> 6< / TOTAL> <br/>< / SUMMARY> <br/>< / ACTIVITY> <br/> </code> </pre><p> click_through.xml </p><pre> <code><?xml version =1.0encoding =ISO-8859-1?> <br/><! - 由XMLSpy®编辑 - > <br/>< ACTIVITY> <br/><概要> <br/><网址> navbar婚礼< /网址> <br/>< UNIQUE> 1< / UNIQUE> <br/>< TOTAL> 1< / TOTAL> <br/>< / SUMMARY> <br/><概要> <br/>< URL> navbar honeymoon< / URL> <br/>< UNIQUE> 1< / UNIQUE> <br/>< TOTAL> 1< / TOTAL> <br/>< / SUMMARY> <br/><概要> <br/><网址>提交rfp< /网址> <br/>< UNIQUE> 1< / UNIQUE> <br/>< TOTAL> 1< / TOTAL> <br/>< / SUMMARY> <br/>< / ACTIVITY> <br/> </code> </pre><p> <br/> </p><div class =h2_lin>解决方案</div><p>作为替代方法,您可以使用更简单的非JavaScript ,浏览器的客户端XSL转换,<strong>没有</c> <code> load_xml_javascript.html </code>文件,只需添加到<code> delivery.xml </$ c $ </p><pre> <code><?xml-stylesheet type =text / xslhref = delivery_and_activity.xsl >?; <br/> </code> </pre><p>测试(显示三张表):</b> <br/> <br/> <ul> <br/> <li> Internet Explorer 8 </li> <br/> <li> Firefox 6 </li> <br/> <li> Opera 11.50 </li> <br/> <li> Google Chrome 13,但是对于本地(无需Web服务器)转换,您需要使用<code> - 允许文件从文件访问</code>开关</li>运行浏览器<br/> <li> Safari 5.1 </li> <br/> </ul> <br/> <br/> <hr> <br/> <br/> <p>对于基于JavaScript的解决方案表(第二和第三)在Google Chrome 13中为空,因为<code> document()</code>函数在Webkit引擎下无法正常工作。看一看:</p> <br/> <br/> <ul> <br/> <li> <a href =https://bugs.webkit.org/show_bug.cgi?id=60276 rel =nofollow noreferrer> Webkit Bug 60276 </a> </li> <br/> <li> <a href =http://code.google.com/p/chromium/issues/detail?id= 8441rel =nofollow noreferrer> Chromium Issue 8441 </a> </li> <br/> </ul> <br/> <br/> <p>对于Internet Explorer 8(以及9)简化的初始代码:<br/> $ b </p><pre-class =lang-js prettyprint-override> <code> function loadXMLDoc(dname)<br/> {<br/> var xhttp; <br/> if(window.XMLHttpRequest)<br/> xhttp = new XMLHttpRequest(); <br/> <br/> xhttp.open(GET,dname,false); <br/> xhttp.send(); <br/> return xhttp.responseXML; <br/> <br/> <br/> function displayResult()<br/> {<br/> var xml = loadXMLDoc(delivery.xml); <br/> var xsl = loadXMLDoc(delivery_and_activity.xsl); <br/> if(window.ActiveXObject)<br/> {<br/> var output = xml.transformNode(xsl); <br/> document.getElementById(example)。innerHTML = output; <br/> <br/> <br/> <br/> <br/> $ b使用F12来调试它,你会看到错误信息(事实上​​<strong>相同的问题</strong>与<a href=\"https://stackoverflow.com/questions/5793831/script5-access-is-denied-in-ie9-on-xmlhttprequest\">此处</a>):<b> <br/> $ b </p><blockquote> <br/> <p>访问被拒绝<br/> </blockquote><p>然而,您可以尝试使用以下代码:<b> <br/> $ b </p><pre class =lang-js prettyprint-override> <code> function loadXMLDoc(filePath)<br/> {<br/> var xmlDoc; <br/> if(window.ActiveXObject)<br/> {<br/> xmlDoc = new ActiveXObject(Microsoft.XMLDOM); <br/> xmlDoc.async = false; <br/> xmlDoc.validateOnParse = false; <br/> xmlDoc.load(filePath); <br/>} <br/> return xmlDoc; <br/>} <br/>函数displayResult()<br/> {<br/> var xml = loadXMLDoc(delivery.xml); <br/> var xsl = loadXMLDoc(delivery_and_activity.xsl); <br/> if(window.ActiveXObject)<br/> {<br/> var output = xml.transformNode(xsl); <br/> document.getElementById(example)。innerHTML = output; <br/> <br/> <br/> </code> </pre><p>要正确显示页面,请剪切下列属性:</p><pre> <code> doctype-public = - // W3C // DTD XHTML 1.0 Transitional // EN<br/> doctype-system =http ://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd<br/> </code> </pre><p>正如您所看到的,使用浏览器的原生XSL转换比使用基于JavaScript的转换更容易。</p> <br/><p>Internet Explorer 8: Google Chrome version 13: Javascript: XSLT: XML:</p> <p>In IE 8 nothing popluates but opera and firefox are just fine. When I load the javascript in Chrome 13.1 the first xml doc shows up and the 2nd and 3rd do not show up at all. I am referencing the three xml files in the xslt file. The javascript is from w3shools. How can I get these to populate in IE and Chrome?</p><pre><code>Files: load_xml_javascript.html delivery_and_activity.xsl delivery.xml activity.xml click_through.xml </code></pre><p>load_xml_javascript.html</p><pre><code><html> <head> <script> function loadXMLDoc(dname) { if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest(); } else { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",dname,false); xhttp.send(""); return xhttp.responseXML; } function displayResult() { xml=loadXMLDoc("delivery.xml"); xsl=loadXMLDoc("delivery_activity_clickthrough.xsl"); // code for IE if (window.ActiveXObject) { ex=xml.transformNode(xsl); document.getElementById("example").innerHTML=ex; } // code for Mozilla, Firefox, Opera, etc. else if (document.implementation && document.implementation.createDocument) { xsltProcessor=new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); resultDocument = xsltProcessor.transformToFragment(xml,document); document.getElementById("example").appendChild(resultDocument); } } </script> </head> <body onLoad="displayResult()"> <div id="example" /> </body> </html> </code></pre><p>delivery_and_activity.xsl </p><pre><code><?xml version="1.0" encoding="utf-8"?> <!-- DWXMLSource="delivery.xml" --> <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#160;"> <!ENTITY copy "&#169;"> <!ENTITY reg "&#174;"> <!ENTITY trade "&#8482;"> <!ENTITY mdash "&#8212;"> <!ENTITY ldquo "&#8220;"> <!ENTITY rdquo "&#8221;"> <!ENTITY pound "&#163;"> <!ENTITY yen "&#165;"> <!ENTITY euro "&#8364;"> ]> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype- system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Delivery Summary</title> </head> <body> <h2 style="margin: 25px 0px -20px 30px; color: #003399;">Delivery Summary</h2> <table style="margin: 25px; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; text-align:left; font-size:12px; border-collapse:collapse"> <thead> <tr> <th width="165" height="30" scope="col" style="background: #b9c9fe url('left.png') left -1px no-repeat; color: #003399; padding: 8px;">Type</th> <th width="209" scope="col" style="background: #b9c9fe; color: #003399; padding: 8px;">% of Attempted to Deliver</th> <th width="90" scope="col" style="background: #b9c9fe url('right.png') right -1px no-repeat; padding: 8px; color: #003399;">Total</th> </tr> </thead> <tfoot> </tfoot> <tbody> <xsl:for-each select="DELIVERY/SUMMARY"> <tr> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="TITLE"/></td> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="ATTEMPTED"/></td> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="TOTAL"/></td> </tr> </xsl:for-each> </tbody> </table> <h2 style="margin: 25px 0px -20px 30px; color: #003399;">Activity Summary</h2> <table style="margin: 25px; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; text-align:left; font-size:12px; border-collapse:collapse"> <thead> <tr> <th width="165" height="30" scope="col" style="background: #b9c9fe url('left.png') left -1px no-repeat; color: #003399; padding: 8px;">Type</th> <th width="209" scope="col" style="background: #b9c9fe; color: #003399; padding: 8px;">% of Successfully Delivered</th> <th width="90" scope="col" style="background: #b9c9fe url('right.png') right -1px no-repeat; padding: 8px; color: #003399;">Total</th> </tr> </thead> <tfoot> </tfoot> <tbody> <xsl:for-each select="document('activity.xml')/ACTIVITY/SUMMARY"> <tr> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="TITLE"/></td> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="ATTEMPTED"/></td> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="TOTAL"/></td> </tr> </xsl:for-each> </tbody> </table> <h2 style="margin: 25px 0px -20px 30px; color: #003399;">Click Through Report</h2> <table style="margin: 25px; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; text-align:left; font-size:12px; border-collapse:collapse"> <thead> <tr> <th width="165" height="30" scope="col" style="background: #b9c9fe url('left.png') left -1px no-repeat; color: #003399; padding: 8px;">Type</th> <th width="209" scope="col" style="background: #b9c9fe; color: #003399; padding: 8px;">% of Successfully Delivered</th> <th width="90" scope="col" style="background: #b9c9fe url('right.png') right -1px no-repeat; padding: 8px; color: #003399;">Total</th> </tr> </thead> <tfoot> </tfoot> <tbody> <xsl:for-each select="document('click_through.xml')/ACTIVITY/SUMMARY"> <tr> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="URL"/></td> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="UNIQUE"/></td> <td style="background: #e8edff; color: #003399; padding: 8px; border-top: 1px solid #fff;"><xsl:value-of select="TOTAL"/></td> </tr> </xsl:for-each> </tbody> </table> </body> </html> </xsl:template> </xsl:stylesheet> </code></pre><p>delivery.xml</p><pre><code><?xml version="1.0" encoding="ISO-8859-1"?> <DELIVERY> <SUMMARY> <TITLE>Attempted to deliver</TITLE> <ATTEMPTED>100</ATTEMPTED> <TOTAL>21256</TOTAL> </SUMMARY> <SUMMARY> <TITLE>Hard Bounces</TITLE> <ATTEMPTED>.68</ATTEMPTED> <TOTAL>145</TOTAL> </SUMMARY> <SUMMARY> <TITLE>Soft Bounces</TITLE> <ATTEMPTED>4.48</ATTEMPTED> <TOTAL>953</TOTAL> </SUMMARY> <SUMMARY> <TITLE>Successfully delivered</TITLE> <ATTEMPTED>94.8</ATTEMPTED> <TOTAL>20158</TOTAL> </SUMMARY> </DELIVERY> </code></pre><p>activity.xml</p><pre><code><?xml version="1.0" encoding="ISO-8859-1"?> <!-- Edited by XMLSpy® --> <ACTIVITY> <SUMMARY> <TITLE>Opened</TITLE> <ATTEMPTED>22.96</ATTEMPTED> <TOTAL>4629</TOTAL> </SUMMARY> <SUMMARY> <TITLE>Clicked Through</TITLE> <ATTEMPTED>4.10</ATTEMPTED> <TOTAL>829</TOTAL> </SUMMARY> <SUMMARY> <TITLE>Replied</TITLE> <ATTEMPTED>0.12</ATTEMPTED> <TOTAL>24</TOTAL> </SUMMARY> <SUMMARY> <TITLE>Unsubscribed</TITLE> <ATTEMPTED>0.25</ATTEMPTED> <TOTAL>51</TOTAL> </SUMMARY> <SUMMARY> <TITLE>Forwarded</TITLE> <ATTEMPTED>0.00</ATTEMPTED> <TOTAL>0</TOTAL> </SUMMARY> <SUMMARY> <TITLE>Subscribed</TITLE> <ATTEMPTED>0.00</ATTEMPTED> <TOTAL>0.00</TOTAL> </SUMMARY> <SUMMARY> <TITLE>SpamComplaints</TITLE> <ATTEMPTED>0.3</ATTEMPTED> <TOTAL>6</TOTAL> </SUMMARY> </ACTIVITY> </code></pre><p>click_through.xml</p><pre><code><?xml version="1.0" encoding="ISO-8859-1"?> <!-- Edited by XMLSpy® --> <ACTIVITY> <SUMMARY> <URL>navbar weddings</URL> <UNIQUE>1</UNIQUE> <TOTAL>1</TOTAL> </SUMMARY> <SUMMARY> <URL>navbar honeymoon</URL> <UNIQUE>1</UNIQUE> <TOTAL>1</TOTAL> </SUMMARY> <SUMMARY> <URL>submit rfp</URL> <UNIQUE>1</UNIQUE> <TOTAL>1</TOTAL> </SUMMARY> </ACTIVITY> </code></pre><p> </p><div class="h2_lin"> 解决方案 </div><p>As alternative approach you could use simpler, non-JavaScript, browser's client side XSL tranformation, <strong>without</strong> <code>load_xml_javascript.html</code> file, just add into <code>delivery.xml</code> (just below XML declaration) following line:</p><pre><code><?xml-stylesheet type="text/xsl" href="delivery_and_activity.xsl"?> </code></pre><p>Tested (displaying three tables) on:</p> <ul> <li>Internet Explorer 8</li> <li>Firefox 6</li> <li>Opera 11.50</li> <li>Google Chrome 13, however for local (without web server) transformations you need run browser it with <code>--allow-file-access-from-files</code> switch</li> <li>Safari 5.1</li> </ul> <hr> <p>For JavaScript based solution tables (second and third) are empty in Google Chrome 13 because <code>document()</code> function doesn't work properly under Webkit engine. Take a look at:</p> <ul> <li><a href="https://bugs.webkit.org/show_bug.cgi?id=60276" rel="nofollow noreferrer">Webkit Bug 60276</a></li> <li><a href="http://code.google.com/p/chromium/issues/detail?id=8441" rel="nofollow noreferrer">Chromium Issue 8441</a></li> </ul> <p>For Internet Explorer 8 (as well as 9) your simplified initial code looks:</p><pre class="lang-js prettyprint-override"><code>function loadXMLDoc(dname) { var xhttp; if (window.XMLHttpRequest) xhttp = new XMLHttpRequest(); xhttp.open("GET", dname, false); xhttp.send(""); return xhttp.responseXML; } function displayResult() { var xml = loadXMLDoc("delivery.xml"); var xsl = loadXMLDoc("delivery_and_activity.xsl"); if (window.ActiveXObject) { var output = xml.transformNode(xsl); document.getElementById("example").innerHTML = output; } } </code></pre><p>Use F12 to debug it, you should see error message (de facto the <strong>same issue</strong> as in <a href="https://stackoverflow.com/questions/5793831/script5-access-is-denied-in-ie9-on-xmlhttprequest">here</a>): </p><blockquote> <p>Access is denied</p> </blockquote><p>However you could try following code instead:</p><pre class="lang-js prettyprint-override"><code>function loadXMLDoc(filePath) { var xmlDoc; if (window.ActiveXObject) { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.validateOnParse = false; xmlDoc.load(filePath); } return xmlDoc; } function displayResult() { var xml = loadXMLDoc("delivery.xml"); var xsl = loadXMLDoc("delivery_and_activity.xsl"); if (window.ActiveXObject) { var output = xml.transformNode(xsl); document.getElementById("example").innerHTML = output; } } </code></pre><p>To display page properly cut these attributes:</p><pre><code>doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" </code></pre><p>As you see it's much easier to use browser's native XSL transformation, rather than JavaScript based.</p> <p>这篇关于如何在IE 8和Chrome中使用JavaScript和三个XML文件显示XSLT?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!</p> </div> <div class="arc-body-main-more"> <span onclick="unlockarc('819770');">查看全文</span> </div> </div> <div> </div> <div class="wwads-cn wwads-horizontal" data-id="166" style="max-width:100%;border: 4px solid #666;"></div> </div> </article> <div id="arc-ad-2" class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="widget bgwhite radius-1 mb-1 shadow widget-rel"> <h5>相关文章</h5> <ul> <li> <a target="_blank" title="XML,XSLT和JavaScript" href="/58926.html"> XML,XSLT和JavaScript; </a> </li> <li> <a target="_blank" title="如何使用javascript和MVC隐藏三个下拉列表" href="/1121438.html"> 如何使用javascript和MVC隐藏三个下拉列表; </a> </li> <li> <a target="_blank" title="使用JavaScript的Chrome和Safari XSLT" href="/817629.html"> 使用JavaScript的Chrome和Safari XSLT; </a> </li> <li> <a target="_blank" title="使用 JavaScript 的 Chrome 和 Safari XSLT" href="/2690523.html"> 使用 JavaScript 的 Chrome 和 Safari XSLT; </a> </li> <li> <a target="_blank" title="如何在 Python 中使用 XSLT 转换 XML 文件?" href="/2634931.html"> 如何在 Python 中使用 XSLT 转换 XML 文件?; </a> </li> <li> <a target="_blank" title="如何在Python中使用XSLT转换XML文件?" href="/2014967.html"> 如何在Python中使用XSLT转换XML文件?; </a> </li> <li> <a target="_blank" title="如何在javascript中添加三个数字和十进制" href="/1126134.html"> 如何在javascript中添加三个数字和十进制; </a> </li> <li> <a target="_blank" title="如何在Java中使用XSLT 2.0和XSLT 3.0?" href="/969391.html"> 如何在Java中使用XSLT 2.0和XSLT 3.0?; </a> </li> <li> <a target="_blank" title="如何在 Java 中使用 XSLT 2.0 和 XSLT 3.0?" href="/2690556.html"> 如何在 Java 中使用 XSLT 2.0 和 XSLT 3.0?; </a> </li> <li> <a target="_blank" title="在Chrome中使用JavaScript读取XML文件" href="/1016649.html"> 在Chrome中使用JavaScript读取XML文件; </a> </li> <li> <a target="_blank" title="具有三个按钮和三个结果的Inno Setup MsgBox" href="/2131699.html"> 具有三个按钮和三个结果的Inno Setup MsgBox; </a> </li> <li> <a target="_blank" title="如何在 XSLT 1.0 中找到每月的第三个星期三" href="/2502287.html"> 如何在 XSLT 1.0 中找到每月的第三个星期三; </a> </li> <li> <a target="_blank" title="如何在hibernate中使用单个表连接三个表?" href="/987729.html"> 如何在hibernate中使用单个表连接三个表?; </a> </li> <li> <a target="_blank" title="如何并排展开和折叠三个div?" href="/1487064.html"> 如何并排展开和折叠三个div?; </a> </li> <li> <a target="_blank" title="如何在IE中使用JQuery隐藏和显示SELECT选项" href="/1484868.html"> 如何在IE中使用JQuery隐藏和显示SELECT选项; </a> </li> <li> <a target="_blank" title="使用XSLT在Firefox和IE中进行XML到XML的转换" href="/557669.html"> 使用XSLT在Firefox和IE中进行XML到XML的转换; </a> </li> <li> <a target="_blank" title="如何在 Delphi 应用程序中使用 XSLT 文档显示 XML?" href="/2668114.html"> 如何在 Delphi 应用程序中使用 XSLT 文档显示 XML?; </a> </li> <li> <a target="_blank" title=".js文件可在chrome和firefox中使用,但不能在IE中使用" href="/1881910.html"> .js文件可在chrome和firefox中使用,但不能在IE中使用; </a> </li> <li> <a target="_blank" title="jQuery,JavaScript和IE8" href="/1492503.html"> jQuery,JavaScript和IE8; </a> </li> <li> <a target="_blank" title="javascript和IE 8的问题" href="/1253475.html"> javascript和IE 8的问题; </a> </li> <li> <a target="_blank" title="在Javascript中使用appendChild和IE" href="/910784.html"> 在Javascript中使用appendChild和IE; </a> </li> <li> <a target="_blank" title="使用HTML和Javascript查找三个字母的国家/地区代码" href="/790432.html"> 使用HTML和Javascript查找三个字母的国家/地区代码; </a> </li> <li> <a target="_blank" title="将 XSLT 和 XML 输出到 XML 文件" href="/2502807.html"> 将 XSLT 和 XML 输出到 XML 文件; </a> </li> <li> <a target="_blank" title="三个js合并几何和网格" href="/2749524.html"> 三个js合并几何和网格; </a> </li> <li> <a target="_blank" title="在Chrome和Firefox中使用JavaScript" href="/761674.html"> 在Chrome和Firefox中使用JavaScript; </a> </li> </ul> </div> <div class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="side"> <div class="widget widget-side bgwhite mb-1 shadow"> <h5>前端开发最新文章</h5> <ul> <li> <a target="_blank" title="为什么Chrome(在Electron内部)突然重定向到chrome-error:// chromewebdata?" href="/1996151.html"> 为什么Chrome(在Electron内部)突然重定向到chrome-error:// chromewebdata?; </a> </li> <li> <a target="_blank" title="错误102(net :: ERR_CONNECTION_REFUSED):服务器拒绝连接" href="/749568.html"> 错误102(net :: ERR_CONNECTION_REFUSED):服务器拒绝连接; </a> </li> <li> <a target="_blank" title="如何解决'重定向已被CORS策略阻止:没有'Access-Control-Allow-Origin'标题'?" href="/1009885.html"> 如何解决'重定向已被CORS策略阻止:没有'Access-Control-Allow-Origin'标题'?; </a> </li> <li> <a target="_blank" title="如何处理“Uncaught(in promise)DOMException:play()失败,因为用户没有首先与文档交互。”在桌面上使用Chrome 66?" href="/884909.html"> 如何处理“Uncaught(in promise)DOMException:play()失败,因为用户没有首先与文档交互。”在桌面上使用Chrome 66?; </a> </li> <li> <a target="_blank" title="警告:添加非被动事件侦听器到滚动阻塞'touchstart'事件" href="/818517.html"> 警告:添加非被动事件侦听器到滚动阻塞'touchstart'事件; </a> </li> <li> <a target="_blank" title="如何在浏览器中播放.TS文件(视频/ MP2T媒体类型)?" href="/343346.html"> 如何在浏览器中播放.TS文件(视频/ MP2T媒体类型)?; </a> </li> <li> <a target="_blank" title="此请求已被阻止;内容必须通过HTTPS提供" href="/886417.html"> 此请求已被阻止;内容必须通过HTTPS提供; </a> </li> <li> <a target="_blank" title="资源解释为样式表,但转换为MIME类型text / html(似乎与web服务器无关)" href="/562873.html"> 资源解释为样式表,但转换为MIME类型text / html(似乎与web服务器无关); </a> </li> <li> <a target="_blank" title="通过HTTPS加载页面但请求不安全的XMLHttpRequest端点" href="/885901.html"> 通过HTTPS加载页面但请求不安全的XMLHttpRequest端点; </a> </li> <li> <a target="_blank" title="拒绝从执行脚本'*',因为它的MIME类型(“应用/ JSON')不是可执行文件,并严格MIME类型检查被启用。" href="/47347.html"> 拒绝从执行脚本'*',因为它的MIME类型(“应用/ JSON')不是可执行文件,并严格MIME类型检查被启用。; </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门教程 </h5> <ul> <li> <a target="_blank" title="Java教程" href="/OnLineTutorial/java/index.html"> Java教程 </a> </li> <li> <a target="_blank" title="Apache ANT 教程" href="/OnLineTutorial/ant/index.html"> Apache ANT 教程 </a> </li> <li> <a target="_blank" title="Kali Linux教程" href="/OnLineTutorial/kali_linux/index.html"> Kali Linux教程 </a> </li> <li> <a target="_blank" title="JavaScript教程" href="/OnLineTutorial/javascript/index.html"> JavaScript教程 </a> </li> <li> <a target="_blank" title="JavaFx教程" href="/OnLineTutorial/javafx/index.html"> JavaFx教程 </a> </li> <li> <a target="_blank" title="MFC 教程" href="/OnLineTutorial/mfc/index.html"> MFC 教程 </a> </li> <li> <a target="_blank" title="Apache HTTP客户端教程" href="/OnLineTutorial/apache_httpclient/index.html"> Apache HTTP客户端教程 </a> </li> <li> <a target="_blank" title="Microsoft Visio 教程" href="/OnLineTutorial/microsoft_visio/index.html"> Microsoft Visio 教程 </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门工具 </h5> <ul> <li> <a target="_blank" title="Java 在线工具" href="/Onlinetools/details/4"> Java 在线工具 </a> </li> <li> <a target="_blank" title="C(GCC) 在线工具" href="/Onlinetools/details/6"> C(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="PHP 在线工具" href="/Onlinetools/details/8"> PHP 在线工具 </a> </li> <li> <a target="_blank" title="C# 在线工具" href="/Onlinetools/details/1"> C# 在线工具 </a> </li> <li> <a target="_blank" title="Python 在线工具" href="/Onlinetools/details/5"> Python 在线工具 </a> </li> <li> <a target="_blank" title="MySQL 在线工具" href="/Onlinetools/Dbdetails/33"> MySQL 在线工具 </a> </li> <li> <a target="_blank" title="VB.NET 在线工具" href="/Onlinetools/details/2"> VB.NET 在线工具 </a> </li> <li> <a target="_blank" title="Lua 在线工具" href="/Onlinetools/details/14"> Lua 在线工具 </a> </li> <li> <a target="_blank" title="Oracle 在线工具" href="/Onlinetools/Dbdetails/35"> Oracle 在线工具 </a> </li> <li> <a target="_blank" title="C++(GCC) 在线工具" href="/Onlinetools/details/7"> C++(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="Go 在线工具" href="/Onlinetools/details/20"> Go 在线工具 </a> </li> <li> <a target="_blank" title="Fortran 在线工具" href="/Onlinetools/details/45"> Fortran 在线工具 </a> </li> </ul> </div> </div> </div> <script type="text/javascript">var eskeys = '如,何在,ie,8,和,chrome,中,使用,javascript,和,三个,xml,文件,显示,xslt'; var cat = 'cc';';//qianduan</script> </div> <div id="pop" onclick="pophide();"> <div id="pop_body" onclick="event.stopPropagation();"> <h6 class="flex flex101"> 登录 <span onclick="pophide();">关闭</span> </h6> <div class="pd-1"> <div class="wxtip center"> <span>扫码关注<em>1秒</em>登录</span> </div> <div class="center"> <img id="qr" src="https://huajiakeji.com/Content/Images/qrydx.jpg" alt="" style="width:150px;height:150px;" /> </div> <div style="margin-top:10px;display:flex;justify-content: center;"> <input type="text" placeholder="输入验证码" id="txtcode" autocomplete="off" /> <input id="btngo" type="button" onclick="chk()" value="GO" /> </div> <div class="center" style="margin: 4px; font-size: .8rem; color: #f60;"> 发送“验证码”获取 <em style="padding: 0 .5rem;">|</em> <span style="color: #01a05c;">15天全站免登陆</span> </div> <div id="chkinfo" class="tip"></div> </div> </div> </div> <script type="text/javascript" src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/highlight.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/base.js?v=0.22"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/tui.js?v=0.11"></script> <footer class="footer"> <div class="container"> <div class="flink mb-1"> 友情链接: <a href="https://www.it1352.com/" target="_blank">IT屋</a> <a href="https://huajiakeji.com/" target="_blank">Chrome插件</a> <a href="https://www.cnplugins.com/" target="_blank">谷歌浏览器插件</a> </div> <section class="copyright-section"> <a href="https://www.it1352.com" title="IT屋-程序员软件开发技术分享社区">IT屋</a> ©2016-2022 <a href="http://www.beian.miit.gov.cn/" target="_blank">琼ICP备2021000895号-1</a> <a href="/sitemap.html" target="_blank" title="站点地图">站点地图</a> <a href="/Home/Tags" target="_blank" title="站点标签">站点标签</a> <a target="_blank" alt="sitemap" href="/sitemap.xml">SiteMap</a> <a href="/1155981.html" title="IT屋-免责申明"><免责申明></a> 本站内容来源互联网,如果侵犯您的权益请联系我们删除. </section> <!--统计代码--> <script type="text/javascript"> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?0c3a090f7b3c4ad458ac1296cb5cc779"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script type="text/javascript"> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </div> </footer> </body> </html>