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

📄 uri.js

📁 dojo与json创建无限级树的时候,当在父结点下添加了一个新结点,我怎么让父亲结点重新调用json加载一下子结点内容.
💻 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.uri.Uri");dojo.uri = new function() {	this.joinPath = function() {		// DEPRECATED: use the dojo.uri.Uri object instead		var arr = [];		for(var i = 0; i < arguments.length; i++) { arr.push(arguments[i]); }		return arr.join("/").replace(/\/{2,}/g, "/").replace(/((https*|ftps*):)/i, "$1/");	}		this.dojoUri = function (uri) {		// returns a Uri object resolved relative to the dojo root		return new dojo.uri.Uri(dojo.hostenv.getBaseScriptUri(), uri);	}			this.Uri = function (/*uri1, uri2, [...]*/) {		// An object representing a Uri.		// Each argument is evaluated in order relative to the next until		// a conanical uri is producued. To get an absolute Uri relative		// to the current document use		//      new dojo.uri.Uri(document.baseURI, uri)		// TODO: support for IPv6, see RFC 2732		// resolve uri components relative to each other		var uri = arguments[0];		for (var i = 1; i < arguments.length; i++) {			if(!arguments[i]) { continue; }			// Safari doesn't support this.constructor so we have to be explicit			var relobj = new dojo.uri.Uri(arguments[i].toString());			var uriobj = new dojo.uri.Uri(uri.toString());			if (relobj.path == "" && relobj.scheme == null &&				relobj.authority == null && relobj.query == null) {				if (relobj.fragment != null) { uriobj.fragment = relobj.fragment; }				relobj = uriobj;			} else if (relobj.scheme == null) {				relobj.scheme = uriobj.scheme;							if (relobj.authority == null) {					relobj.authority = uriobj.authority;										if (relobj.path.charAt(0) != "/") {						var path = uriobj.path.substring(0,							uriobj.path.lastIndexOf("/") + 1) + relobj.path;						var segs = path.split("/");						for (var j = 0; j < segs.length; j++) {							if (segs[j] == ".") {								if (j == segs.length - 1) { segs[j] = ""; }								else { segs.splice(j, 1); j--; }							} else if (j > 0 && !(j == 1 && segs[0] == "") &&								segs[j] == ".." && segs[j-1] != "..") {								if (j == segs.length - 1) { segs.splice(j, 1); segs[j - 1] = ""; }								else { segs.splice(j - 1, 2); j -= 2; }							}						}						relobj.path = segs.join("/");					}				}			}			uri = "";			if (relobj.scheme != null) { uri += relobj.scheme + ":"; }			if (relobj.authority != null) { uri += "//" + relobj.authority; }			uri += relobj.path;			if (relobj.query != null) { uri += "?" + relobj.query; }			if (relobj.fragment != null) { uri += "#" + relobj.fragment; }		}		this.uri = uri.toString();		// break the uri into its main components		var regexp = "^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";	    var r = this.uri.match(new RegExp(regexp));		this.scheme = r[2] || (r[1] ? "" : null);		this.authority = r[4] || (r[3] ? "" : null);		this.path = r[5]; // can never be undefined		this.query = r[7] || (r[6] ? "" : null);		this.fragment  = r[9] || (r[8] ? "" : null);				if (this.authority != null) {			// server based naming authority			regexp = "^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$";			r = this.authority.match(new RegExp(regexp));						this.user = r[3] || null;			this.password = r[4] || null;			this.host = r[5];			this.port = r[7] || null;		}			this.toString = function(){ return this.uri; }	}};

⌨️ 快捷键说明

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