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 "";
}

2 条评论 »

  1. 泥腿 said,

    2007/2/13 @ 13:30

    泥腿是技术菜鸟,只知道一点点.
    Nukq,加油

  2. Nukq said,

    2007/2/13 @ 13:33

    欢迎泥腿 :)

RSS feed for comments on this post · TrackBack URI

发表看法

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word