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

📄 dojo.js.uncompressed.js

📁 对java中如何使用Ajax技术
💻 JS
📖 第 1 页 / 共 5 页
字号:
		var dr = dojo.render;		var drh = dojo.render.html;		var drs = dojo.render.svg;		var dua = (drh.UA = navigator.userAgent);		var dav = (drh.AV = navigator.appVersion);		var t = true;		var f = false;		drh.capable = t;		drh.support.builtin = t;		dr.ver = parseFloat(drh.AV);		dr.os.mac = dav.indexOf("Macintosh") >= 0;		dr.os.win = dav.indexOf("Windows") >= 0;		// could also be Solaris or something, but it's the same browser		dr.os.linux = dav.indexOf("X11") >= 0;		drh.opera = dua.indexOf("Opera") >= 0;		drh.khtml = (dav.indexOf("Konqueror") >= 0)||(dav.indexOf("Safari") >= 0);		drh.safari = dav.indexOf("Safari") >= 0;		var geckoPos = dua.indexOf("Gecko");		drh.mozilla = drh.moz = (geckoPos >= 0)&&(!drh.khtml);		if (drh.mozilla) {			// gecko version is YYYYMMDD			drh.geckoVersion = dua.substring(geckoPos + 6, geckoPos + 14);		}		drh.ie = (document.all)&&(!drh.opera);		drh.ie50 = drh.ie && dav.indexOf("MSIE 5.0")>=0;		drh.ie55 = drh.ie && dav.indexOf("MSIE 5.5")>=0;		drh.ie60 = drh.ie && dav.indexOf("MSIE 6.0")>=0;		drh.ie70 = drh.ie && dav.indexOf("MSIE 7.0")>=0;		var cm = document["compatMode"];		drh.quirks = (cm == "BackCompat")||(cm == "QuirksMode")||drh.ie55||drh.ie50;		// TODO: is the HTML LANG attribute relevant?		dojo.locale = dojo.locale || (drh.ie ? navigator.userLanguage : navigator.language).toLowerCase();		dr.vml.capable=drh.ie;		drs.capable = f;		drs.support.plugin = f;		drs.support.builtin = f;		var tdoc = window["document"];		var tdi = tdoc["implementation"];		if((tdi)&&(tdi["hasFeature"])&&(tdi.hasFeature("org.w3c.dom.svg", "1.0"))){			drs.capable = t;			drs.support.builtin = t;			drs.support.plugin = f;		}		// webkits after 420 support SVG natively. The test string is "AppleWebKit/420+"		if(drh.safari){			var tmp = dua.split("AppleWebKit/")[1];			var ver = parseFloat(tmp.split(" ")[0]);			if(ver >= 420){				drs.capable = t;				drs.support.builtin = t;				drs.support.plugin = f;			}		}else{		}	})();	dojo.hostenv.startPackage("dojo.hostenv");	dojo.render.name = dojo.hostenv.name_ = 'browser';	dojo.hostenv.searchIds = [];	// These are in order of decreasing likelihood; this will change in time.	dojo.hostenv._XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];	dojo.hostenv.getXmlhttpObject = function(){		// summary: does the work of portably generating a new XMLHTTPRequest object.		var http = null;		var last_e = null;		try{ http = new XMLHttpRequest(); }catch(e){}		if(!http){			for(var i=0; i<3; ++i){				var progid = dojo.hostenv._XMLHTTP_PROGIDS[i];				try{					http = new ActiveXObject(progid);				}catch(e){					last_e = e;				}				if(http){					dojo.hostenv._XMLHTTP_PROGIDS = [progid];  // so faster next time					break;				}			}			/*if(http && !http.toString) {				http.toString = function() { "[object XMLHttpRequest]"; }			}*/		}		if(!http){			return dojo.raise("XMLHTTP not available", last_e);		}		return http; // XMLHTTPRequest instance	}	dojo.hostenv._blockAsync = false;	dojo.hostenv.getText = function(uri, async_cb, fail_ok){		// summary: Read the contents of the specified uri and return those contents.		// uri:		//		A relative or absolute uri. If absolute, it still must be in		//		the same "domain" as we are.		// async_cb:		//		If not specified, load synchronously. If specified, load		//		asynchronously, and use async_cb as the progress handler which		//		takes the xmlhttp object as its argument. If async_cb, this		//		function returns null.		// fail_ok:		//		Default false. If fail_ok and !async_cb and loading fails,		//		return null instead of throwing.		// need to block async callbacks from snatching this thread as the result		// of an async callback might call another sync XHR, this hangs khtml forever		// hostenv._blockAsync must also be checked in BrowserIO's watchInFlight()		// NOTE: must be declared before scope switches ie. this.getXmlhttpObject()		if(!async_cb){ this._blockAsync = true; }		var http = this.getXmlhttpObject();		function isDocumentOk(http){			var stat = http["status"];			// allow a 304 use cache, needed in konq (is this compliant with the http spec?)			return Boolean((!stat)||((200 <= stat)&&(300 > stat))||(stat==304));		}		if(async_cb){			var _this = this, timer = null, gbl = dojo.global();			var xhr = dojo.evalObjPath("dojo.io.XMLHTTPTransport");			http.onreadystatechange = function(){				if(timer){ gbl.clearTimeout(timer); timer = null; }				if(_this._blockAsync || (xhr && xhr._blockAsync)){					timer = gbl.setTimeout(function () { http.onreadystatechange.apply(this); }, 10);				}else{					if(4==http.readyState){						if(isDocumentOk(http)){							// dojo.debug("LOADED URI: "+uri);							async_cb(http.responseText);						}					}				}			}		}		http.open('GET', uri, async_cb ? true : false);		try{			http.send(null);			if(async_cb){				return null;			}			if(!isDocumentOk(http)){				var err = Error("Unable to load "+uri+" status:"+ http.status);				err.status = http.status;				err.responseText = http.responseText;				throw err;			}		}catch(e){			this._blockAsync = false;			if((fail_ok)&&(!async_cb)){				return null;			}else{				throw e;			}		}		this._blockAsync = false;		return http.responseText; // String	}	dojo.hostenv.defaultDebugContainerId = 'dojoDebug';	dojo.hostenv._println_buffer = [];	dojo.hostenv._println_safe = false;	dojo.hostenv.println = function(/*String*/line){		// summary:		//		prints the provided line to whatever logging container is		//		available. If the page isn't loaded yet, the line may be added		//		to a buffer for printing later.		if(!dojo.hostenv._println_safe){			dojo.hostenv._println_buffer.push(line);		}else{			try {				var console = document.getElementById(djConfig.debugContainerId ?					djConfig.debugContainerId : dojo.hostenv.defaultDebugContainerId);				if(!console) { console = dojo.body(); }				var div = document.createElement("div");				div.appendChild(document.createTextNode(line));				console.appendChild(div);			} catch (e) {				try{					// safari needs the output wrapped in an element for some reason					document.write("<div>" + line + "</div>");				}catch(e2){					window.status = line;				}			}		}	}	dojo.addOnLoad(function(){		dojo.hostenv._println_safe = true;		while(dojo.hostenv._println_buffer.length > 0){			dojo.hostenv.println(dojo.hostenv._println_buffer.shift());		}	});	function dj_addNodeEvtHdlr(/*DomNode*/node, /*String*/evtName, /*Function*/fp){		// summary:		//		non-destructively adds the specified function to the node's		//		evtName handler.		// node: the DomNode to add the handler to		// evtName: should be in the form "click" for "onclick" handlers		var oldHandler = node["on"+evtName] || function(){};		node["on"+evtName] = function(){			fp.apply(node, arguments);			oldHandler.apply(node, arguments);		}		return true;	}	//	BEGIN DOMContentLoaded, from Dean Edwards (http://dean.edwards.name/weblog/2006/06/again/)	function dj_load_init(e){		// allow multiple calls, only first one will take effect		// A bug in khtml calls events callbacks for document for event which isnt supported		// for example a created contextmenu event calls DOMContentLoaded, workaround		var type = (e && e.type) ? e.type.toLowerCase() : "load";		if(arguments.callee.initialized || (type!="domcontentloaded" && type!="load")){ return; }		arguments.callee.initialized = true;		if(typeof(_timer) != 'undefined'){			clearInterval(_timer);			delete _timer;		}		var initFunc = function(){			//perform initialization			if(dojo.render.html.ie){				dojo.hostenv.makeWidgets();			}		};		if(dojo.hostenv.inFlightCount == 0){			initFunc();			dojo.hostenv.modulesLoaded();		}else{			//This else case should be xdomain loading.			//Make sure this is the first thing in the load listener array.			//Part of the dojo.addOnLoad guarantee is that when the listeners are notified,			//It means the DOM (or page) has loaded and that widgets have been parsed.			dojo.hostenv.modulesLoadedListeners.unshift(initFunc);		}	}	//	START DOMContentLoaded	// Mozilla and Opera 9 expose the event we could use	if(document.addEventListener){		if(dojo.render.html.opera || (dojo.render.html.moz && !djConfig.delayMozLoadingFix)){			document.addEventListener("DOMContentLoaded", dj_load_init, null);		}		//	mainly for Opera 8.5, won't be fired if DOMContentLoaded fired already.		//  also used for Mozilla because of trac #1640		window.addEventListener("load", dj_load_init, null);	}	// 	for Internet Explorer. readyState will not be achieved on init call, but dojo doesn't need it	//	however, we'll include it because we don't know if there are other functions added that might.	//	Note that this has changed because the build process strips all comments--including conditional	//		ones.	if(dojo.render.html.ie && dojo.render.os.win){		document.attachEvent("onreadystatechange", function(e){			if(document.readyState == "complete"){				dj_load_init();			}		});	}	if (/(WebKit|khtml)/i.test(navigator.userAgent)) { // sniff		var _timer = setInterval(function() {			if (/loaded|complete/.test(document.readyState)) {				dj_load_init(); // call the onload handler			}		}, 10);	}	//	END DOMContentLoaded	// IE WebControl hosted in an application can fire "beforeunload" and "unload"	// events when control visibility changes, causing Dojo to unload too soon. The	// following code fixes the problem	// Reference: http://support.microsoft.com/default.aspx?scid=kb;en-us;199155	if(dojo.render.html.ie){		dj_addNodeEvtHdlr(window, "beforeunload", function(){			dojo.hostenv._unloading = true;			window.setTimeout(function() {				dojo.hostenv._unloading = false;			}, 0);		});	}	dj_addNodeEvtHdlr(window, "unload", function(){		dojo.hostenv.unloaded();		if((!dojo.render.html.ie)||(dojo.render.html.ie && dojo.hostenv._unloading)){			dojo.hostenv.unloaded();		}	});	dojo.hostenv.makeWidgets = function(){		// you can put searchIds in djConfig and dojo.hostenv at the moment		// we should probably eventually move to one or the other		var sids = [];		if(djConfig.searchIds && djConfig.searchIds.length > 0) {			sids = sids.concat(djConfig.searchIds);		}		if(dojo.hostenv.searchIds && dojo.hostenv.searchIds.length > 0) {			sids = sids.concat(dojo.hostenv.searchIds);		}		if((djConfig.parseWidgets)||(sids.length > 0)){			if(dojo.evalObjPath("dojo.widget.Parse")){				// we must do this on a delay to avoid:				//	http://www.shaftek.org/blog/archives/000212.html				// (IE bug)					var parser = new dojo.xml.Parse();					if(sids.length > 0){						for(var x=0; x<sids.length; x++){							var tmpNode = document.getElementById(sids[x]);							if(!tmpNode){ continue; }							var frag = parser.parseElement(tmpNode, null, true);							dojo.widget.getParser().createComponents(frag);						}					}else if(djConfig.parseWidgets){						var frag  = parser.parseElement(dojo.body(), null, true);						dojo.widget.getParser().createComponents(frag);					}			}		}	}	dojo.addOnLoad(function(){		if(!dojo.render.html.ie) {			dojo.hostenv.makeWidgets();		}	});	try{		if(dojo.render.html.ie){			document.namespaces.add("v","urn:schemas-microsoft-com:vml");			document.createStyleSheet().addRule("v\\:*", "behavior:url(#default#VML)");		}	}catch(e){ }	// stub, over-ridden by debugging code. This will at least keep us from	// breaking when it's not included	dojo.hostenv.writeIncludes = function(){}	//TODOC:  HOW TO DOC THIS?	// @global: dj_currentDocument	// summary:	//		Current document object. 'dj_currentDocument' can be modified for temporary context shifting.	// description:	//    dojo.doc() returns dojo.currentDocument.	//		Refer to dojo.doc() rather than referring to 'window.document' to ensure your	//		code runs correctly in managed contexts.	if(!dj_undef("document", this)){		dj_currentDocument = this.document;	}	dojo.doc = function(){		// summary:		//		return the document object associated with the dojo.global()		return dj_currentDocument;	}	dojo.body = function(){		// summary:		//		return the body object associated with dojo.doc()		// Note: document.body is not defined for a strict xhtml document		return dojo.doc().body || dojo.doc().getElementsByTagName("body")[0];	}	dojo.byId = function(/*String*/id, /*DocumentElement*/doc){		// summary:

⌨️ 快捷键说明

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