javascriptはxmlの解法を読んで、多ブラウザに対応します.

1674 ワード

try{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e){
try{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e) {alert(e.message)}
}
try{
xmlDoc.async=false;
xmlDoc.load("example.xml");
document.write("xmlDoc is loaded");
}
catch(e){
alert(e.message)
}
ネットで見つけられたJSでXMLファイルを読み込むスクリプトはほとんど上のようです.気になるのはコードの中には一般的にfirefox、opera、safari、IEと互換性があるというコメントがありますが、実は私がテストした結果、このコードはsafariをサポートしていません.カーネルのchromeももちろんサポートしていません.
safariで誤報があります.value undefined (result of expression xmlDoc.load) is not object.chromeではエラーを報告しました.Uncaught TypeError: Object #<a Document> has no method 'load'です.
変です.ネットで誤報を検索すると、ほとんど関連項目が見つからないです.たとえ一つや二つあっても、問題を出しただけで解決方法がありません.その実用XMLHttpRequestは、xmlDoc.load()方法を使用しないようにXMLを読み込むことで解決できる.これが唯一の解決方法かどうかは分かりませんが、とりあえずこれに基づいてしばらく書きました.今回はIE、opera、firexfox、safari/chromeでJSでXMLデータを正常に読み取れるようになりました.デモンストレーションの住所はここです。.使用するJSスクリプトはソースコードを確認して見ることができます.
また、読み取ったデータをXSLTファイルでフォーマットして表示してみます.しかし、firefoxブラウザはまたこれを前提にして<![CDATA[ ]]>タグの内容をHTMLと解釈する障害に遭遇しました.しかも、今回は前回のJS解決方法ではだめらしいです.<xsl:copy-of select="node()"/>で埋め合わせます.
ありがとうございます
私の案件に使うコード:js readxml