⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlhttp.js

📁 网页上经常会用到的树状结构源代码,模拟文件夹方式,采用ajax方式动态加载数据,避免一次性加载带来的数据量过大的效率问题.
💻 JS
字号:
var XmlHttp ={
};
XmlHttp.getXmlHttpPrefix = function(){
	if (this.getXmlHttpPrefix.prefix)
	return this.getXmlHttpPrefix.prefix;
	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
	var o;
	for (var i = 0; i < prefixes.length; i++){
		try{
			o = new ActiveXObject(prefixes[i] + ".XmlHttp");
			return this.getXmlHttpPrefix.prefix = prefixes[i];
		}
		catch (ex){
		};
	}
	throw new Error("Could not find an installed XML parser");
}
XmlHttp.create = function (){
	try{
		if (window.XMLHttpRequest){
			var req = new XMLHttpRequest();
			if (req.readyState == null){
				req.readyState = 1;
req.addEventListener("load", function (){
	req.readyState = 4;
	if (typeof req.onreadystatechange == "function")
	req.onreadystatechange();
}
, false);
}
return req;
}
if (window.ActiveXObject){
return new ActiveXObject(this.getXmlHttpPrefix() + ".XmlHttp");
}
}
catch (ex){
}
throw new Error("Your browser does not support XmlHttp objects");
};
XmlHttp.load = function(url, cb){
	var xmlHttp = this.create();
	var loadded = false;
	var d = new Date();
	url += (url.indexOf("?") > -1 ? "&" : "?") + "r=" + d.getMonth() + "," +
	d.getDay() + "," + d.getHours() + "," + d.getMinutes() + "," + d.getSeconds();
	xmlHttp.open("GET", url, true);
	xmlHttp.setRequestHeader("Cache-Control", "no-cache");
xmlHttp.onreadystatechange = function(){
	if(4 == xmlHttp.readyState){
		if(!loadded){
			loadded = true;
			var doc = null;
			if(null != xmlHttp.responseXML){
				doc = xmlHttp.responseXML.documentElement;
			}
			if("function" == typeof cb){
setTimeout(function(){
	cb(doc);
}
,0);
}
}
}
}
xmlHttp.send(null);;
}
XmlHttp.parseXmlNode = function(o, withChild){
	withChild = withChild || false;
	var p = Object();
	p["tagName"] = o.tagName;
	var attr = o.attributes;
	if(null != attr){
		var al = attr.length;
		for(var i = 0;i < al;i ++){
			var e = attr.item(i);
			p[e.nodeName] = e.nodeValue;
		}
	}
	else{
		p = null;
	}
	if(withChild){
		var e = o.firstChild;
		while(null != e){
			if(null == e.nodeValue){
				if(null == p){
					p = Object();
				}
				if( 1 == e.nodeType){
					p[e.nodeName] = e.firstChild.nodeValue;
				}
				else{
					p[e.nodeName] = e.nodeValue;
				}
				e = e.nextSibling;
			}
		}
	}
	return p;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -