首页 > 开发 > JS > 正文

FireFox中textNode分片的问题

2024-09-06 12:42:43
字体:
来源:转载
供稿:网友
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 ""; 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表