当前位置: 首页 > 图文教程 > 网络编程 > Javascript > FireFox中textNode分片的问题

Javascript
学习JavaScript里面的变量的应用
内容拷贝增加版权信息的JavaScript代码
JS扩展Photoshop新功能
学习JS之简单语句的写法
Javascript 最简单检测网速的方法和应用
Javascript 编程规范
关于DOM事件模型的两件事
关于JavaScript开发时的五个小提示
用javascript来实现动画导航
AJAX技术介绍
Ajax程序设计入门
学习Ajax教程,详细了解Get与Post
关于Ajax responseText 的一点阐述
ajax中文乱码解决方法
AJAX中文问题总结
AJAX无刷新更新数据
很简单的javascript函数不刷新页面---刷新数据
利用XMLHTTP无刷新添加数据
用XMLHTTP Post/Get HTML页面时的中文乱码之完全Script解决方案
成功实现ajax,xmlhttp跨域访问

Javascript 中的 FireFox中textNode分片的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 298 ::
收藏到网摘: n/a

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