Firefox で困ったちゃんな問題に出くわしました。

XMLで 4096 byte以上のデータをjavascript側で受け取ってごにょごにょしようとすると、4096 byteで勝手に切り詰められてしまうという
正確には、4096byteずつchildNodesに分割されてしまうみたいでした。
childNodes[0].nodeValueの4096byte以降は、childNodes[1].nodeValueに格納されるようです。
つまり、10000byte送ったらchildNodesが3つ作成されるみたいな。
しかし、なぜそんな仕様にしたのやら。

滅多に4096byte以上の文字列なんて送らないからいいけど、送りたいときとても困る。

解決策を探したら、どうやらnormalize()をしてあげるとうまくいくみたいです。

また、JSON形式で送って受け取っても問題ないようです。

IE, Safariではうまくいくものだから、またなんとも。
このブラウザ依存性は、本当になんとかして欲しいと切に願う。

responseXML

以下、ソース。

responsexml.html

responsexml.js

responsexml.php

XML形式は視認性がよくて好きなんだけどなぁ。
おとなしくJSON使っとけってことなのかしら。

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="" highlight="">