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

📄 dojo.js.uncompressed.js

📁 sourcode about ajaxdojojson
💻 JS
📖 第 1 页 / 共 5 页
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/if(typeof dojo == "undefined"){// TODOC: HOW TO DOC THE BELOW?// @global: djConfig// summary://		Application code can set the global 'djConfig' prior to loading//		the library to override certain global settings for how dojo works.// description:  The variables that can be set are as follows://			- isDebug: false//			- allowQueryConfig: false//			- baseScriptUri: ""//			- baseRelativePath: ""//			- libraryScriptUri: ""//			- iePreventClobber: false//			- ieClobberMinimal: true//			- locale: undefined//			- extraLocale: undefined//			- preventBackButtonFix: true//			- searchIds: []//			- parseWidgets: true// TODOC: HOW TO DOC THESE VARIABLES?// TODOC: IS THIS A COMPLETE LIST?// note://		'djConfig' does not exist under 'dojo.*' so that it can be set before the//		'dojo' variable exists.// note://		Setting any of these variables *after* the library has loaded does nothing at all.// TODOC: is this still true?  Release notes for 0.3 indicated they could be set after load.////TODOC:  HOW TO DOC THIS?// @global: dj_global// summary://		an alias for the top-level global object in the host environment//		(e.g., the window object in a browser).// description://		Refer to 'dj_global' rather than referring to window to ensure your//		code runs correctly in contexts other than web browsers (eg: Rhino on a server).var dj_global = this;//TODOC:  HOW TO DOC THIS?// @global: dj_currentContext// summary://		Private global context object. Where 'dj_global' always refers to the boot-time//    global context, 'dj_currentContext' can be modified for temporary context shifting.//    dojo.global() returns dj_currentContext.// description://		Refer to dojo.global() rather than referring to dj_global to ensure your//		code runs correctly in managed contexts.var dj_currentContext = this;// ****************************************************************// global public utils// TODOC: DO WE WANT TO NOTE THAT THESE ARE GLOBAL PUBLIC UTILS?// ****************************************************************function dj_undef(/*String*/ name, /*Object?*/ object){	//summary: Returns true if 'name' is defined on 'object' (or globally if 'object' is null).	//description: Note that 'defined' and 'exists' are not the same concept.	return (typeof (object || dj_currentContext)[name] == "undefined");	// Boolean}// make sure djConfig is definedif(dj_undef("djConfig", this)){	var djConfig = {};}//TODOC:  HOW TO DOC THIS?// dojo is the root variable of (almost all) our public symbols -- make sure it is defined.if(dj_undef("dojo", this)){	var dojo = {};}dojo.global = function(){	// summary:	//		return the current global context object	//		(e.g., the window object in a browser).	// description:	//		Refer to 'dojo.global()' rather than referring to window to ensure your	//		code runs correctly in contexts other than web browsers (eg: Rhino on a server).	return dj_currentContext;}// Override locale setting, if specifieddojo.locale  = djConfig.locale;//TODOC:  HOW TO DOC THIS?dojo.version = {	// summary: version number of this instance of dojo.	major: 0, minor: 4, patch: 2, flag: "",	revision: Number("$Rev: 7616 $".match(/[0-9]+/)[0]),	toString: function(){		with(dojo.version){			return major + "." + minor + "." + patch + flag + " (" + revision + ")";	// String		}	}}dojo.evalProp = function(/*String*/ name, /*Object*/ object, /*Boolean?*/ create){	// summary: Returns 'object[name]'.  If not defined and 'create' is true, will return a new Object.	// description:	//		Returns null if 'object[name]' is not defined and 'create' is not true.	// 		Note: 'defined' and 'exists' are not the same concept.	if((!object)||(!name)) return undefined; // undefined	if(!dj_undef(name, object)) return object[name]; // mixed	return (create ? (object[name]={}) : undefined);	// mixed}dojo.parseObjPath = function(/*String*/ path, /*Object?*/ context, /*Boolean?*/ create){	// summary: Parse string path to an object, and return corresponding object reference and property name.	// description:	//		Returns an object with two properties, 'obj' and 'prop'.	//		'obj[prop]' is the reference indicated by 'path'.	// path: Path to an object, in the form "A.B.C".	// context: Object to use as root of path.  Defaults to 'dojo.global()'.	// create: If true, Objects will be created at any point along the 'path' that is undefined.	var object = (context || dojo.global());	var names = path.split('.');	var prop = names.pop();	for (var i=0,l=names.length;i<l && object;i++){		object = dojo.evalProp(names[i], object, create);	}	return {obj: object, prop: prop};	// Object: {obj: Object, prop: String}}dojo.evalObjPath = function(/*String*/ path, /*Boolean?*/ create){	// summary: Return the value of object at 'path' in the global scope, without using 'eval()'.	// path: Path to an object, in the form "A.B.C".	// create: If true, Objects will be created at any point along the 'path' that is undefined.	if(typeof path != "string"){		return dojo.global();	}	// fast path for no periods	if(path.indexOf('.') == -1){		return dojo.evalProp(path, dojo.global(), create);		// mixed	}	//MOW: old 'with' syntax was confusing and would throw an error if parseObjPath returned null.	var ref = dojo.parseObjPath(path, dojo.global(), create);	if(ref){		return dojo.evalProp(ref.prop, ref.obj, create);	// mixed	}	return null;}dojo.errorToString = function(/*Error*/ exception){	// summary: Return an exception's 'message', 'description' or text.	// TODO: overriding Error.prototype.toString won't accomplish this? 	// 		... since natively generated Error objects do not always reflect such things?	if(!dj_undef("message", exception)){		return exception.message;		// String	}else if(!dj_undef("description", exception)){		return exception.description;	// String	}else{		return exception;				// Error	}}dojo.raise = function(/*String*/ message, /*Error?*/ exception){	// summary: Common point for raising exceptions in Dojo to enable logging.	//	Throws an error message with text of 'exception' if provided, or	//	rethrows exception object.	if(exception){		message = message + ": "+dojo.errorToString(exception);	}else{		message = dojo.errorToString(message);	}	// print the message to the user if hostenv.println is defined	try { if(djConfig.isDebug){ dojo.hostenv.println("FATAL exception raised: "+message); } } catch (e) {}	throw exception || Error(message);}//Stub functions so things don't break.//TODOC:  HOW TO DOC THESE?dojo.debug = function(){};dojo.debugShallow = function(obj){};dojo.profile = { start: function(){}, end: function(){}, stop: function(){}, dump: function(){} };function dj_eval(/*String*/ scriptFragment){	// summary: Perform an evaluation in the global scope.  Use this rather than calling 'eval()' directly.	// description: Placed in a separate function to minimize size of trapped evaluation context.	// note:	//	 - JSC eval() takes an optional second argument which can be 'unsafe'.	//	 - Mozilla/SpiderMonkey eval() takes an optional second argument which is the	//  	 scope object for new symbols.	return dj_global.eval ? dj_global.eval(scriptFragment) : eval(scriptFragment); 	// mixed}dojo.unimplemented = function(/*String*/ funcname, /*String?*/ extra){	// summary: Throw an exception because some function is not implemented.	// extra: Text to append to the exception message.	var message = "'" + funcname + "' not implemented";	if (extra != null) { message += " " + extra; }	dojo.raise(message);}dojo.deprecated = function(/*String*/ behaviour, /*String?*/ extra, /*String?*/ removal){	// summary: Log a debug message to indicate that a behavior has been deprecated.	// extra: Text to append to the message.	// removal: Text to indicate when in the future the behavior will be removed.	var message = "DEPRECATED: " + behaviour;	if(extra){ message += " " + extra; }	if(removal){ message += " -- will be removed in version: " + removal; }	dojo.debug(message);}dojo.render = (function(){	//TODOC: HOW TO DOC THIS?	// summary: Details rendering support, OS and browser of the current environment.	// TODOC: is this something many folks will interact with?  If so, we should doc the structure created...	function vscaffold(prefs, names){		var tmp = {			capable: false,			support: {				builtin: false,				plugin: false			},			prefixes: prefs		};		for(var i=0; i<names.length; i++){			tmp[names[i]] = false;		}		return tmp;	}	return {		name: "",		ver: dojo.version,		os: { win: false, linux: false, osx: false },		html: vscaffold(["html"], ["ie", "opera", "khtml", "safari", "moz"]),		svg: vscaffold(["svg"], ["corel", "adobe", "batik"]),		vml: vscaffold(["vml"], ["ie"]),		swf: vscaffold(["Swf", "Flash", "Mm"], ["mm"]),		swt: vscaffold(["Swt"], ["ibm"])	};})();// ****************************************************************// dojo.hostenv methods that must be defined in hostenv_*.js// ****************************************************************/** * The interface definining the interaction with the EcmaScript host environment.*//* * None of these methods should ever be called directly by library users. * Instead public methods such as loadModule should be called instead. */dojo.hostenv = (function(){	// TODOC:  HOW TO DOC THIS?	// summary: Provides encapsulation of behavior that changes across different 'host environments'	//			(different browsers, server via Rhino, etc).	// description: None of these methods should ever be called directly by library users.	//				Use public methods such as 'loadModule' instead.	// default configuration options	var config = {		isDebug: false,		allowQueryConfig: false,		baseScriptUri: "",		baseRelativePath: "",		libraryScriptUri: "",		iePreventClobber: false,		ieClobberMinimal: true,		preventBackButtonFix: true,		delayMozLoadingFix: false,		searchIds: [],		parseWidgets: true	};	if (typeof djConfig == "undefined") { djConfig = config; }	else {		for (var option in config) {			if (typeof djConfig[option] == "undefined") {				djConfig[option] = config[option];			}		}	}	return {		name_: '(unset)',		version_: '(unset)',		getName: function(){			// sumary: Return the name of the host environment.			return this.name_; 	// String		},		getVersion: function(){			// summary: Return the version of the hostenv.			return this.version_; // String		},		getText: function(/*String*/ uri){			// summary:	Read the plain/text contents at the specified 'uri'.			// description:			//			If 'getText()' is not implemented, then it is necessary to override			//			'loadUri()' with an implementation that doesn't rely on it.			dojo.unimplemented('getText', "uri=" + uri);		}	};})();dojo.hostenv.getBaseScriptUri = function(){	// summary: Return the base script uri that other scripts are found relative to.	// TODOC: HUH?  This comment means nothing to me.  What other scripts? Is this the path to other dojo libraries?	//		MAYBE:  Return the base uri to scripts in the dojo library.	 ???	// return: Empty string or a path ending in '/'.	if(djConfig.baseScriptUri.length){		return djConfig.baseScriptUri;	}	// MOW: Why not:	//			uri = djConfig.libraryScriptUri || djConfig.baseRelativePath	//		??? Why 'new String(...)'	var uri = new String(djConfig.libraryScriptUri||djConfig.baseRelativePath);	if (!uri) { dojo.raise("Nothing returned by getLibraryScriptUri(): " + uri); }	// MOW: uri seems to not be actually used.  Seems to be hard-coding to djConfig.baseRelativePath... ???	var lastslash = uri.lastIndexOf('/');		// MOW ???	djConfig.baseScriptUri = djConfig.baseRelativePath;	return djConfig.baseScriptUri;	// String}/* * loader.js - A bootstrap module.  Runs before the hostenv_*.js file. Contains all of the package loading methods. *///A semi-colon is at the start of the line because after doing a build, this function definition//get compressed onto the same line as the last line in bootstrap1.js. That list line is just a//curly bracket, and the browser complains about that syntax. The semicolon fixes it. Putting it//here instead of at the end of bootstrap1.js, since it is more of an issue for this file, (using//the closure), and bootstrap1.js could change in the future.;(function(){	//Additional properties for dojo.hostenv	var _addHostEnv = {		pkgFileName: "__package__",			// for recursion protection		loading_modules_: {},		loaded_modules_: {},		addedToLoadingCount: [],		removedFromLoadingCount: [],			inFlightCount: 0,			// FIXME: it should be possible to pull module prefixes in from djConfig		modulePrefixes_: {			dojo: {name: "dojo", value: "src"}		},		setModulePrefix: function(/*String*/module, /*String*/prefix){			// summary: establishes module/prefix pair			this.modulePrefixes_[module] = {name: module, value: prefix};		},		moduleHasPrefix: function(/*String*/module){			// summary: checks to see if module has been established			var mp = this.modulePrefixes_;			return Boolean(mp[module] && mp[module].value); // Boolean		},

⌨️ 快捷键说明

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