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

📄 common.js

📁 初学者
💻 JS
字号:
/*	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*/dojo.provide("dojo.io.common");dojo.require("dojo.string");dojo.require("dojo.lang.extras");dojo.io.transports = [];dojo.io.hdlrFuncNames = ["load", "error", "timeout"];dojo.io.Request = function (url, mimetype, transport, changeUrl) {	if ((arguments.length == 1) && (arguments[0].constructor == Object)) {		this.fromKwArgs(arguments[0]);	} else {		this.url = url;		if (mimetype) {			this.mimetype = mimetype;		}		if (transport) {			this.transport = transport;		}		if (arguments.length >= 4) {			this.changeUrl = changeUrl;		}	}};dojo.lang.extend(dojo.io.Request, {url:"", mimetype:"text/plain", method:"GET", content:undefined, transport:undefined, changeUrl:undefined, formNode:undefined, sync:false, bindSuccess:false, useCache:false, preventCache:false, jsonFilter:function (value) {	if ((this.mimetype == "text/json-comment-filtered") || (this.mimetype == "application/json-comment-filtered")) {		var cStartIdx = value.indexOf("/*");		var cEndIdx = value.lastIndexOf("*/");		if ((cStartIdx == -1) || (cEndIdx == -1)) {			dojo.debug("your JSON wasn't comment filtered!");			return "";		}		return value.substring(cStartIdx + 2, cEndIdx);	}	dojo.debug("please consider using a mimetype of text/json-comment-filtered to avoid potential security issues with JSON endpoints");	return value;}, load:function (type, data, transportImplementation, kwArgs) {}, error:function (type, error, transportImplementation, kwArgs) {}, timeout:function (type, empty, transportImplementation, kwArgs) {}, handle:function (type, data, transportImplementation, kwArgs) {}, timeoutSeconds:0, abort:function () {}, fromKwArgs:function (kwArgs) {	if (kwArgs["url"]) {		kwArgs.url = kwArgs.url.toString();	}	if (kwArgs["formNode"]) {		kwArgs.formNode = dojo.byId(kwArgs.formNode);	}	if (!kwArgs["method"] && kwArgs["formNode"] && kwArgs["formNode"].method) {		kwArgs.method = kwArgs["formNode"].method;	}	if (!kwArgs["handle"] && kwArgs["handler"]) {		kwArgs.handle = kwArgs.handler;	}	if (!kwArgs["load"] && kwArgs["loaded"]) {		kwArgs.load = kwArgs.loaded;	}	if (!kwArgs["changeUrl"] && kwArgs["changeURL"]) {		kwArgs.changeUrl = kwArgs.changeURL;	}	kwArgs.encoding = dojo.lang.firstValued(kwArgs["encoding"], djConfig["bindEncoding"], "");	kwArgs.sendTransport = dojo.lang.firstValued(kwArgs["sendTransport"], djConfig["ioSendTransport"], false);	var isFunction = dojo.lang.isFunction;	for (var x = 0; x < dojo.io.hdlrFuncNames.length; x++) {		var fn = dojo.io.hdlrFuncNames[x];		if (kwArgs[fn] && isFunction(kwArgs[fn])) {			continue;		}		if (kwArgs["handle"] && isFunction(kwArgs["handle"])) {			kwArgs[fn] = kwArgs.handle;		}	}	dojo.lang.mixin(this, kwArgs);}});dojo.io.Error = function (msg, type, num) {	this.message = msg;	this.type = type || "unknown";	this.number = num || 0;};dojo.io.transports.addTransport = function (name) {	this.push(name);	this[name] = dojo.io[name];};dojo.io.bind = function (request) {	if (!(request instanceof dojo.io.Request)) {		try {			request = new dojo.io.Request(request);		}		catch (e) {			dojo.debug(e);		}	}	var tsName = "";	if (request["transport"]) {		tsName = request["transport"];		if (!this[tsName]) {			dojo.io.sendBindError(request, "No dojo.io.bind() transport with name '" + request["transport"] + "'.");			return request;		}		if (!this[tsName].canHandle(request)) {			dojo.io.sendBindError(request, "dojo.io.bind() transport with name '" + request["transport"] + "' cannot handle this type of request.");			return request;		}	} else {		for (var x = 0; x < dojo.io.transports.length; x++) {			var tmp = dojo.io.transports[x];			if ((this[tmp]) && (this[tmp].canHandle(request))) {				tsName = tmp;				break;			}		}		if (tsName == "") {			dojo.io.sendBindError(request, "None of the loaded transports for dojo.io.bind()" + " can handle the request.");			return request;		}	}	this[tsName].bind(request);	request.bindSuccess = true;	return request;};dojo.io.sendBindError = function (request, message) {	if ((typeof request.error == "function" || typeof request.handle == "function") && (typeof setTimeout == "function" || typeof setTimeout == "object")) {		var errorObject = new dojo.io.Error(message);		setTimeout(function () {			request[(typeof request.error == "function") ? "error" : "handle"]("error", errorObject, null, request);		}, 50);	} else {		dojo.raise(message);	}};dojo.io.queueBind = function (request) {	if (!(request instanceof dojo.io.Request)) {		try {			request = new dojo.io.Request(request);		}		catch (e) {			dojo.debug(e);		}	}	var oldLoad = request.load;	request.load = function () {		dojo.io._queueBindInFlight = false;		var ret = oldLoad.apply(this, arguments);		dojo.io._dispatchNextQueueBind();		return ret;	};	var oldErr = request.error;	request.error = function () {		dojo.io._queueBindInFlight = false;		var ret = oldErr.apply(this, arguments);		dojo.io._dispatchNextQueueBind();		return ret;	};	dojo.io._bindQueue.push(request);	dojo.io._dispatchNextQueueBind();	return request;};dojo.io._dispatchNextQueueBind = function () {	if (!dojo.io._queueBindInFlight) {		dojo.io._queueBindInFlight = true;		if (dojo.io._bindQueue.length > 0) {			dojo.io.bind(dojo.io._bindQueue.shift());		} else {			dojo.io._queueBindInFlight = false;		}	}};dojo.io._bindQueue = [];dojo.io._queueBindInFlight = false;dojo.io.argsFromMap = function (map, encoding, last) {	var enc = /utf/i.test(encoding || "") ? encodeURIComponent : dojo.string.encodeAscii;	var mapped = [];	var control = new Object();	for (var name in map) {		var domap = function (elt) {			var val = enc(name) + "=" + enc(elt);			mapped[(last == name) ? "push" : "unshift"](val);		};		if (!control[name]) {			var value = map[name];			if (dojo.lang.isArray(value)) {				dojo.lang.forEach(value, domap);			} else {				domap(value);			}		}	}	return mapped.join("&");};dojo.io.setIFrameSrc = function (iframe, src, replace) {	try {		var r = dojo.render.html;		if (!replace) {			if (r.safari) {				iframe.location = src;			} else {				frames[iframe.name].location = src;			}		} else {			var idoc;			if (r.ie) {				idoc = iframe.contentWindow.document;			} else {				if (r.safari) {					idoc = iframe.document;				} else {					idoc = iframe.contentWindow;				}			}			if (!idoc) {				iframe.location = src;				return;			} else {				idoc.location.replace(src);			}		}	}	catch (e) {		dojo.debug(e);		dojo.debug("setIFrameSrc: " + e);	}};

⌨️ 快捷键说明

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