FireFox中textNode分片的问题

  Ajax应用中很常见的行为便是后台把数据用XML包裹好返回给浏览器,浏览器解析XML,得到nodeValue

  如果单个node中内容很长(超过4096字节),这时在FireFox/Mozilla中就要注意了,内容将会被FrieFox分解为多个textNode,每个大小为4096字节。这种情况可以用下列函数处理(IE兼容)

  

复制代码 代码如下:

  function getNodeValue(node)

  {

  if(node && node.hasChildNodes()){

  //return node.firstChild.nodeValue;

  var s=""

  //Mozilla has many textnodes with a size of 4096

  //chars each instead of one large one.

  //They all need to be concatenated.

  for(var j=0;j<node.childNodes.length;j++){

  s+=new String(node.childNodes.item(j).nodeValue);

  }

  return s;

  }else

  return "";

  }