20110423 きたくら

posted Apr 23, 2011, 1:24 AM by 北倉輝昭   [ updated Apr 23, 2011, 2:17 AM ]
本日は久しぶりにJavaScript をお勉強
 
IE9 の互換性の問題の対応

IE8 までは JavaScript で XML のドキュメント作るとき

var objDOM = new ActiveXObject(STR_ACTIVEX);

XML のテキストを読み込むときには

objXML.loadXML(text_xml);

でできていたが、IE9 から loadXML がサポートされなくなっていた。

また、IE9 ではドキュメントの作成は、FireFox と同じように

document.implement.createDocument() ;

でXMLのドキュメントができるようになっていた。

IE9 では DOMParser を XMLSerializer を サポート


http://blogs.msdn.com/b/ie/archive/2010/10/15/domparser-and-xmlserializer-in-ie9-beta.aspx

だが、createDocument で作成したドキュメントは loadXML のようなテキストをパースする機能はないので これもFireFoxと同じようにDOMParser を使う必要がある。

var parser = new DOMParser();
objXML = parser.parseFromString(text_xml, "text/xml");

また、XMLSerializer もサポート

serializer = new XMLSerializer();
var xmlString = serializer.serializeToString(doc);

XMLHttpRequest を使うこと

IE で 

ActiveXObject("Microsoft.XMLHTTP");

を使っていた場合は

XMLHttpRequest();
 
を使うこと

以上
Comments