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

📄 _base.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 2 页
字号:
if(!dojo._hasResource["dojox.dtl._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.dtl._base"] = true;dojo.provide("dojox.dtl._base");dojo.require("dojox.string.Builder");dojo.require("dojox.string.tokenize");(function(){	var dd = dojox.dtl;	dd._Context = dojo.extend(function(dict){		// summary: Pass one of these when rendering a template to tell the template what values to use.		dojo.mixin(this, dict || {});		this._dicts = [];	},	{		push: function(){			var dict = {};			var keys = this.getKeys();			for(var i = 0, key; key = keys[i]; i++){				dict[key] = this[key];				delete this[key];			}			this._dicts.unshift(dict);		},		pop: function(){			if(!this._dicts.length){				throw new Error("pop() called on empty Context");			}			var dict = this._dicts.shift();			dojo.mixin(this, dict);		},		getKeys: function(){			var keys = [];			for(var key in this){				if(this.hasOwnProperty(key) && key != "_dicts" && key != "_this"){					keys.push(key);				}			}			return keys;		},		get: function(key, otherwise){			if(typeof this[key] != "undefined"){				return this._normalize(this[key]);			}			for(var i = 0, dict; dict = this._dicts[i]; i++){				if(typeof dict[key] != "undefined"){					return this._normalize(dict[key]);				}			}			return otherwise;		},		_normalize: function(value){			if(value instanceof Date){				value.year = value.getFullYear();				value.month = value.getMonth() + 1;				value.day = value.getDate();				value.date = value.year + "-" + ("0" + value.month).slice(-2) + "-" + ("0" + value.day).slice(-2);				value.hour = value.getHours();				value.minute = value.getMinutes();				value.second = value.getSeconds();				value.microsecond = value.getMilliseconds();			}			return value;		},		update: function(dict){			this.push();			if(dict){				dojo.mixin(this, dict);			}		}	});	var ddt = dd.text = {		types: {tag: -1, varr: -2, text: 3},		pySplit: function(str){			// summary: Split a string according to Python's split function			str = dojo.trim(str);			return (!str.length) ? [] : str.split(/\s+/g);		},		_get: function(module, name, errorless){			// summary: Used to find both tags and filters			var params = dd.register.get(module, name.toLowerCase(), errorless);			if(!params){				if(!errorless){					throw new Error("No tag found for " + name);				}				return null;			}			var fn = params[1];			var require = params[2];			var parts;			if(fn.indexOf(":") != -1){				parts = fn.split(":");				fn = parts.pop();			}			dojo["require"](require);			var parent = dojo.getObject(require);			return parent[fn || name] || parent[name + "_"];		},		getTag: function(name, errorless){			return ddt._get("tag", name, errorless);		},		getFilter: function(name, errorless){			return ddt._get("filter", name, errorless);		},		getTemplate: function(file){			return new dd.Template(dd.getTemplateString(file));		},		getTemplateString: function(file){			return dojo._getText(file.toString()) || "";		},		_resolveLazy: function(location, sync, json){			if(sync){				if(json){					return dojo.fromJson(dojo._getText(location)) || {};				}else{					return dd.text.getTemplateString(location);				}			}else{				return dojo.xhrGet({					handleAs: (json) ? "json" : "text",					url: location				});			}		},		_resolveTemplateArg: function(arg, sync){			if(ddt._isTemplate(arg)){				if(!sync){					var d = new dojo.Deferred();					d.callback(arg);					return d;				}				return arg;			}			return ddt._resolveLazy(arg, sync);		},		_isTemplate: function(arg){			return (typeof arg == "undefined") || (dojo.isString(arg) && (arg.match(/^\s*[<{]/) || arg.indexOf(" ") != -1));		},		_resolveContextArg: function(arg, sync){			if(arg.constructor == Object){				if(!sync){					var d = new dojo.Deferred;					d.callback(arg);					return d;				}				return arg;			}			return ddt._resolveLazy(arg, sync, true);		},		_re: /(?:\{\{\s*(.+?)\s*\}\}|\{%\s*(load\s*)?(.+?)\s*%\})/g,		tokenize: function(str){			return dojox.string.tokenize(str, ddt._re, ddt._parseDelims);		},		_parseDelims: function(varr, load, tag){			var types = ddt.types;			if(varr){				return [types.varr, varr];			}else if(load){				var parts = dd.text.pySplit(tag);				for(var i = 0, part; part = parts[i]; i++){					dojo["require"](part);				}			}else{				return [types.tag, tag];			}		}	}	dd.Template = dojo.extend(function(/*String|dojo._Url*/ template){		// template:		//		The string or location of the string to		//		use as a template		var str = ddt._resolveTemplateArg(template, true) || "";		var tokens = ddt.tokenize(str);		var parser = new dd._Parser(tokens);		this.nodelist = parser.parse();	},	{		update: function(node, context){			// node: DOMNode|String|dojo.NodeList			//		A node reference or set of nodes			// context: dojo._Url|String|Object			//		The context object or location			return ddt._resolveContextArg(context).addCallback(this, function(contextObject){				var content = this.render(new dd._Context(contextObject));				if(node.forEach){					node.forEach(function(item){						item.innerHTML = content;					});				}else{					dojo.byId(node).innerHTML = content;				}				return this;			});		},		render: function(context, /*concatenatable?*/ buffer){			buffer = buffer || this.getBuffer();			context = context || new dd._Context({});			return this.nodelist.render(context, buffer) + "";		},		getBuffer: function(){			dojo.require("dojox.string.Builder");			return new dojox.string.Builder();		}	});	dd._Filter = dojo.extend(function(token){		// summary: Uses a string to find (and manipulate) a variable		if(!token) throw new Error("Filter must be called with variable name");		this.contents = token;		var cache = this._cache[token];		if(cache){			this.key = cache[0];			this.filters = cache[1];		}else{			this.filters = [];			dojox.string.tokenize(token, this._re, this._tokenize, this);			this._cache[token] = [this.key, this.filters];		}	},	{		_cache: {},		_re: /(?:^_\("([^\\"]*(?:\\.[^\\"])*)"\)|^"([^\\"]*(?:\\.[^\\"]*)*)"|^([a-zA-Z0-9_.]+)|\|(\w+)(?::(?:_\("([^\\"]*(?:\\.[^\\"])*)"\)|"([^\\"]*(?:\\.[^\\"]*)*)"|([a-zA-Z0-9_.]+)|'([^\\']*(?:\\.[^\\']*)*)'))?|^'([^\\']*(?:\\.[^\\']*)*)')/g,		_values: {			0: '"', // _("text")			1: '"', // "text"			2: "", // variable			8: '"' // 'text'		},		_args: {			4: '"', // :_("text")			5: '"', // :"text"			6: "", // :variable			7: "'"// :'text'		},		_tokenize: function(){			var pos, arg;			for(var i = 0, has = []; i < arguments.length; i++){				has[i] = (typeof arguments[i] != "undefined" && dojo.isString(arguments[i]) && arguments[i]);			}			if(!this.key){				for(pos in this._values){					if(has[pos]){						this.key = this._values[pos] + arguments[pos] + this._values[pos];						break;					}				}			}else{				for(pos in this._args){					if(has[pos]){						var value = arguments[pos];						if(this._args[pos] == "'"){							value = value.replace(/\\'/g, "'");						}else if(this._args[pos] == '"'){							value = value.replace(/\\"/g, '"');						}						arg = [!this._args[pos], value];						break;					}				}				// Get a named filter				var fn = ddt.getFilter(arguments[3]);				if(!dojo.isFunction(fn)) throw new Error(arguments[3] + " is not registered as a filter");				this.filters.push([fn, arg]);			}		},		getExpression: function(){			return this.contents;		},		resolve: function(context){			var str = this.resolvePath(this.key, context);			for(var i = 0, filter; filter = this.filters[i]; i++){				// Each filter has the function in [0], a boolean in [1][0] of whether it's a variable or a string				// and [1][1] is either the variable name of the string content.

⌨️ 快捷键说明

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