Search code examples
javascriptajaxnodevalue

Size limit to javascript [node].nodeValue field?


I'm receiving XML data via an AJAX call. One of the tags has a large amount of text, roughly 4000-5000 characters. In Firefox, the field is being truncated around the 3000th character. Most everything I've found online says there is no limit to node value sizes, but sometime it's implementation dependent - no solid answers.

Does anyone have any suggestions for why this might be occurring, assuming there is no restriction on the size of the nodeValue? Any workarounds if so?

<test>
  <foo>very long string...</foo>
</test>

value = testTag.getElementsByTagName("foo").item(0).firstChild.nodeValue;

value is truncated.

-If I print the xmlHttp.responseText, all of the data from is printed.


Solution

  • Check this. It says:

    "Also important to note is that although the specifications say that no matter how much text exists between tags, it should all be in one text node, in practice this is not always the case. In Opera 7-9.2x and Mozilla/Netscape 6+, if the text is larger than a specific maximum size, it is split into multiple text nodes. These text nodes will be next to each other in the childNodes collection of the parent element."