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

📄 offline.js.uncompressed.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 5 页
字号:
		}else{			var tester = /DECRYPT\((?:\s*\w*\s*\,?)*\)/ig;			var matches;			while(matches = tester.exec(sql)){				var lastMatch = new String(RegExp.lastMatch);				var columnNames = lastMatch.replace(/DECRYPT\(/i, "");				columnNames = columnNames.replace(/\)/, "");				columnNames = columnNames.split(/\s*,\s*/);				dojo.forEach(columnNames, function(column){					if(/\s*\w* AS (\w*)/i.test(column)){						column = column.match(/\s*\w* AS (\w*)/i)[1];					}					results[column] = true;				});			}		}		return results;	},	_decryptSingleColumn: function(columnName, columnValue, password, currentRowIndex,											callback){		//console.debug("decryptSingleColumn, columnName="+columnName+", columnValue="+columnValue+", currentRowIndex="+currentRowIndex)		dojox._sql._crypto.decrypt(columnValue, password, dojo.hitch(this, function(results){			// set the new decrypted value			this._finalResultSet[currentRowIndex][columnName] = results;			this._finishedCrypto++;						// are we done with all encryption?			if(this._finishedCrypto >= this._totalCrypto				&& this._finishedSpawningCrypto){				//console.debug("done with all decrypts");				callback(this._finalResultSet);			}		}));	}});}if(!dojo._hasResource["dojox.sql"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.sql"] = true;dojo.provide("dojox.sql");}if(!dojo._hasResource["dojox.storage.GearsStorageProvider"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.storage.GearsStorageProvider"] = true;dojo.provide("dojox.storage.GearsStorageProvider");if(dojo.isGears){		(function(){		// make sure we don't define the gears provider if we're not gears		// enabled				dojo.declare("dojox.storage.GearsStorageProvider", dojox.storage.Provider, {			// summary:			//		Storage provider that uses the features of Google Gears			//		to store data (it is saved into the local SQL database			//		provided by Gears, using dojox.sql)			// description: 			//		You can disable this storage provider with the following djConfig			//		variable:			//		var djConfig = { disableGearsStorage: true };			//					//		Authors of this storage provider-				//			Brad Neuberg, bkn3@columbia.edu 			constructor: function(){			},			// instance methods and properties			TABLE_NAME: "__DOJO_STORAGE",			initialized: false,						_available: null,						initialize: function(){				//console.debug("dojox.storage.GearsStorageProvider.initialize");				if(dojo.config["disableGearsStorage"] == true){					return;				}								// partition our storage data so that multiple apps				// on the same host won't collide				this.TABLE_NAME = "__DOJO_STORAGE";								// create the table that holds our data				try{					dojox.sql("CREATE TABLE IF NOT EXISTS " + this.TABLE_NAME + "( "								+ " namespace TEXT, "								+ " key TEXT, "								+ " value TEXT "								+ ")"							);					dojox.sql("CREATE UNIQUE INDEX IF NOT EXISTS namespace_key_index" 								+ " ON " + this.TABLE_NAME								+ " (namespace, key)");				}catch(e){					console.debug("dojox.storage.GearsStorageProvider.initialize:", e);										this.initialized = false; // we were unable to initialize					dojox.storage.manager.loaded();					return;				}								// indicate that this storage provider is now loaded				this.initialized = true;				dojox.storage.manager.loaded();				},						isAvailable: function(){				// is Google Gears available and defined?				return this._available = dojo.isGears;			},			put: function(key, value, resultsHandler, namespace){				if(this.isValidKey(key) == false){					throw new Error("Invalid key given: " + key);				}				namespace = namespace||this.DEFAULT_NAMESPACE;								// serialize the value;				// handle strings differently so they have better performance				if(dojo.isString(value)){					value = "string:" + value;				}else{					value = dojo.toJson(value);				}								// try to store the value					try{					dojox.sql("DELETE FROM " + this.TABLE_NAME								+ " WHERE namespace = ? AND key = ?",								namespace, key);					dojox.sql("INSERT INTO " + this.TABLE_NAME								+ " VALUES (?, ?, ?)",								namespace, key, value);				}catch(e){					// indicate we failed					console.debug("dojox.storage.GearsStorageProvider.put:", e);					resultsHandler(this.FAILED, key, e.toString());					return;				}								if(resultsHandler){					resultsHandler(dojox.storage.SUCCESS, key, null);				}			},			get: function(key, namespace){				if(this.isValidKey(key) == false){					throw new Error("Invalid key given: " + key);				}				namespace = namespace||this.DEFAULT_NAMESPACE;								// try to find this key in the database				var results = dojox.sql("SELECT * FROM " + this.TABLE_NAME											+ " WHERE namespace = ? AND "											+ " key = ?",											namespace, key);				if(!results.length){					return null;				}else{					results = results[0].value;				}								// destringify the content back into a 				// real JavaScript object;				// handle strings differently so they have better performance				if(dojo.isString(results) && (/^string:/.test(results))){					results = results.substring("string:".length);				}else{					results = dojo.fromJson(results);				}								return results;			},						getNamespaces: function(){				var results = [ dojox.storage.DEFAULT_NAMESPACE ];								var rs = dojox.sql("SELECT namespace FROM " + this.TABLE_NAME									+ " DESC GROUP BY namespace");				for(var i = 0; i < rs.length; i++){					if(rs[i].namespace != dojox.storage.DEFAULT_NAMESPACE){						results.push(rs[i].namespace);					}				}								return results;			},			getKeys: function(namespace){				namespace = namespace||this.DEFAULT_NAMESPACE;				if(this.isValidKey(namespace) == false){					throw new Error("Invalid namespace given: " + namespace);				}								var rs = dojox.sql("SELECT key FROM " + this.TABLE_NAME									+ " WHERE namespace = ?",									namespace);								var results = [];				for(var i = 0; i < rs.length; i++){					results.push(rs[i].key);				}								return results;			},			clear: function(namespace){				if(this.isValidKey(namespace) == false){					throw new Error("Invalid namespace given: " + namespace);				}				namespace = namespace||this.DEFAULT_NAMESPACE;								dojox.sql("DELETE FROM " + this.TABLE_NAME 							+ " WHERE namespace = ?",							namespace);			},						remove: function(key, namespace){				namespace = namespace||this.DEFAULT_NAMESPACE;								dojox.sql("DELETE FROM " + this.TABLE_NAME 							+ " WHERE namespace = ? AND"							+ " key = ?",							namespace,							key);			},						putMultiple: function(keys, values, resultsHandler, namespace) { 				if(this.isValidKeyArray(keys) === false 						|| ! values instanceof Array 						|| keys.length != values.length){					throw new Error("Invalid arguments: keys = [" 									+ keys + "], values = [" + values + "]");				}								if(namespace == null || typeof namespace == "undefined"){					namespace = dojox.storage.DEFAULT_NAMESPACE;						}					if(this.isValidKey(namespace) == false){					throw new Error("Invalid namespace given: " + namespace);				}					this._statusHandler = resultsHandler;				// try to store the value					try{					dojox.sql.open();					dojox.sql.db.execute("BEGIN TRANSACTION");					var _stmt = "REPLACE INTO " + this.TABLE_NAME + " VALUES (?, ?, ?)";					for(var i=0;i<keys.length;i++) {						// serialize the value;						// handle strings differently so they have better performance						var value = values[i];						if(dojo.isString(value)){							value = "string:" + value;						}else{							value = dojo.toJson(value);						}										dojox.sql.db.execute( _stmt,							[namespace, keys[i], value]);					}					dojox.sql.db.execute("COMMIT TRANSACTION");					dojox.sql.close();				}catch(e){					// indicate we failed					console.debug("dojox.storage.GearsStorageProvider.putMultiple:", e);					if(resultsHandler){						resultsHandler(this.FAILED, keys, e.toString());					}					return;				}								if(resultsHandler){					resultsHandler(dojox.storage.SUCCESS, key, null);				}			},			getMultiple: function(keys, namespace){				//	TODO: Maybe use SELECT IN instead				if(this.isValidKeyArray(keys) === false){					throw new ("Invalid key array given: " + keys);				}								if(namespace == null || typeof namespace == "undefined"){					namespace = dojox.storage.DEFAULT_NAMESPACE;						}								if(this.isValidKey(namespace) == false){					throw new Error("Invalid namespace given: " + namespace);				}						var _stmt = "SELECT * FROM " + this.TABLE_NAME	+ 					" WHERE namespace = ? AND "	+ " key = ?";								var results = [];				for(var i=0;i<keys.length;i++){					var result = dojox.sql( _stmt, namespace, keys[i]);											if( ! result.length){						results[i] = null;					}else{						result = result[0].value;												// destringify the content back into a 						// real JavaScript object;						// handle strings differently so they have better performance						if(dojo.isString(result) && (/^string:/.test(result))){							results[i] = result.substring("string:".length);						}else{							results[i] = dojo.fromJson(result);						}					}				}								return results;			},						removeMultiple: function(keys, namespace){				namespace = namespace||this.DEFAULT_NAMESPACE;								dojox.sql.open();				dojox.sql.db.execute("BEGIN TRANSACTION");				var _stmt = "DELETE FROM " + this.TABLE_NAME + " WHERE namespace = ? AND key = ?";				for(var i=0;i<keys.length;i++){					dojox.sql.db.execute( _stmt,						[namespace, keys[i]]);				}				dojox.sql.db.execute("COMMIT TRANSACTION");				dojox.sql.close();			}, 										isPermanent: function(){ return true; },			getMaximumSize: function(){ return this.SIZE_NO_LIMIT; },			hasSettingsUI: function(){ return false; },						showSettingsUI: function(){				throw new Error(this.declaredClass 									+ " does not support a storage settings user-interface");			},						hideSettingsUI: function(){				throw new Error(this.declaredClass 									+ " does not support a storage settings user-interface");			}		});		// register the existence of our storage providers		dojox.storage.manager.register("dojox.storage.GearsStorageProvider",										new dojox.storage.GearsStorageProvider());	})();}}if(!dojo._hasResource["dojox.storage.WhatWGStorageProvider"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.storage.WhatWGStorageProvider"] = true;dojo.provide("dojox.storage.WhatWGStorageProvider");dojo.declare("dojox.storage.WhatWGStorageProvider", [ dojox.storage.Provider ], {	// summary:	//		Storage provider that uses WHAT Working Group features in Firefox 2 	//		to achieve permanent storage.	// description: 	//		The WHAT WG storage API is documented at 	//		http://www.whatwg.org/specs/web-apps/current-work/#scs-client-side	//	//		You can disable this storage provider with the following djConfig	//		variable:	//		var djConfig = { disableWhatWGStorage: true };	//			//		Authors of this storage provider-		//			JB Boisseau, jb.boisseau@eutech-ssii.com	//			Brad Neuberg, bkn3@columbia.

⌨️ 快捷键说明

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