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

📄 contentpane.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 2 页
字号:
if(!dojo._hasResource["dojox.layout.ContentPane"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.layout.ContentPane"] = true;dojo.provide("dojox.layout.ContentPane");dojo.require("dijit.layout.ContentPane");(function(){ // private scope, sort of a namespace	// TODO: should these methods be moved to dojox.html.cssPathAdjust or something?	// css at-rules must be set before any css declarations according to CSS spec	// match:	// @import 'http://dojotoolkit.org/dojo.css';	// @import 'you/never/thought/' print;	// @import url("it/would/work") tv, screen;	// @import url(/did/you/now.css);	// but not:	// @namespace dojo "http://dojotoolkit.org/dojo.css"; /* namespace URL should always be a absolute URI */	// @charset 'utf-8';	// @media print{ #menuRoot {display:none;} }			// we adjust all paths that dont start on '/' or contains ':'	//(?![a-z]+:|\/)	if(dojo.isIE){		var alphaImageLoader = /(AlphaImageLoader\([^)]*?src=(['"]))(?![a-z]+:|\/)([^\r\n;}]+?)(\2[^)]*\)\s*[;}]?)/g;	}	var cssPaths = /(?:(?:@import\s*(['"])(?![a-z]+:|\/)([^\r\n;{]+?)\1)|url\(\s*(['"]?)(?![a-z]+:|\/)([^\r\n;]+?)\3\s*\))([a-z, \s]*[;}]?)/g;	function adjustCssPaths(cssUrl, cssText){		//	summary:		//		adjusts relative paths in cssText to be relative to cssUrl		//		a path is considered relative if it doesn't start with '/' and not contains ':'		//	description:		//		Say we fetch a HTML page from level1/page.html		//		It has some inline CSS:		//			@import "css/page.css" tv, screen;		//			...		//			background-image: url(images/aplhaimage.png);		//		//		as we fetched this HTML and therefore this CSS		//		from level1/page.html, these paths needs to be adjusted to:		//			@import 'level1/css/page.css' tv, screen;		//			...		//			background-image: url(level1/images/alphaimage.png);		//				//		In IE it will also adjust relative paths in AlphaImageLoader()		//			filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/alphaimage.png');		//		will be adjusted to:		//			filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='level1/images/alphaimage.png');		//		//		Please note that any relative paths in AlphaImageLoader in external css files wont work, as		//		the paths in AlphaImageLoader is MUST be declared relative to the HTML page,		//		not relative to the CSS file that declares it		if(!cssText || !cssUrl){ return; }		// support the ImageAlphaFilter if it exists, most people use it in IE 6 for transparent PNGs		// We are NOT going to kill it in IE 7 just because the PNGs work there. Somebody might have		// other uses for it.		// If user want to disable css filter in IE6  he/she should		// unset filter in a declaration that just IE 6 doesn't understands		// like * > .myselector { filter:none; }		if(alphaImageLoader){			cssText = cssText.replace(alphaImageLoader, function(ignore, pre, delim, url, post){				return pre + (new dojo._Url(cssUrl, './'+url).toString()) + post;			});		}		return cssText.replace(cssPaths, function(ignore, delimStr, strUrl, delimUrl, urlUrl, media){			if(strUrl){				return '@import "' + (new dojo._Url(cssUrl, './'+strUrl).toString()) + '"' + media;			}else{				return 'url(' + (new dojo._Url(cssUrl, './'+urlUrl).toString()) + ')' + media;			}		});	}	// attributepaths one tag can have multiple paths, example:	// <input src="..." style="url(..)"/> or <a style="url(..)" href="..">	// <img style='filter:progid...AlphaImageLoader(src="noticeTheSrcHereRunsThroughHtmlSrc")' src="img">	var htmlAttrPaths = /(<[a-z][a-z0-9]*\s[^>]*)(?:(href|src)=(['"]?)([^>]*?)\3|style=(['"]?)([^>]*?)\5)([^>]*>)/gi;	function adjustHtmlPaths(htmlUrl, cont){		var url = htmlUrl || "./";		return cont.replace(htmlAttrPaths,			function(tag, start, name, delim, relUrl, delim2, cssText, end){				return start + (name ?							(name + '=' + delim + (new dojo._Url(url, relUrl).toString()) + delim)						: ('style=' + delim2 + adjustCssPaths(url, cssText) + delim2)				) + end;			}		);	}	function secureForInnerHtml(cont){		/********* remove <!DOCTYPE.. and <title>..</title> tag **********/		// khtml is picky about dom faults, you can't attach a <style> or <title> node as child of body		// must go into head, so we need to cut out those tags		return cont.replace(/(?:\s*<!DOCTYPE\s[^>]+>|<title[^>]*>[\s\S]*?<\/title>)/ig, "");	}	function snarfStyles(/*String*/cssUrl, /*String*/cont, /*Array*/styles){		/****************  cut out all <style> and <link rel="stylesheet" href=".."> **************/		// also return any attributes from this tag (might be a media attribute)		// if cssUrl is set it will adjust paths accordingly		styles.attributes = [];		return cont.replace(/(?:<style([^>]*)>([\s\S]*?)<\/style>|<link\s+(?=[^>]*rel=['"]?stylesheet)([^>]*?href=(['"])([^>]*?)\4[^>\/]*)\/?>)/gi,			function(ignore, styleAttr, cssText, linkAttr, delim, href){				// trim attribute				var i, attr = (styleAttr||linkAttr||"").replace(/^\s*([\s\S]*?)\s*$/i, "$1"); 				if(cssText){					i = styles.push(cssUrl ? adjustCssPaths(cssUrl, cssText) : cssText);				}else{					i = styles.push('@import "' + href + '";')					attr = attr.replace(/\s*(?:rel|href)=(['"])?[^\s]*\1\s*/gi, ""); // remove rel=... and href=...				}				if(attr){					attr = attr.split(/\s+/);// split on both "\n", "\t", " " etc					var atObj = {}, tmp;					for(var j = 0, e = attr.length; j < e; j++){						tmp = attr[j].split('=')// split name='value'						atObj[tmp[0]] = tmp[1].replace(/^\s*['"]?([\s\S]*?)['"]?\s*$/, "$1"); // trim and remove ''					}					styles.attributes[i - 1] = atObj;				}				return ""; // squelsh the <style> or <link>			}		);	}	function snarfScripts(cont, byRef){		// summary		//		strips out script tags from cont		// invoke with 		//	byRef = {errBack:function(){/*add your download error code here*/, downloadRemote: true(default false)}}		//	byRef will have {code: 'jscode'} when this scope leaves		byRef.code = "";		function download(src){			if(byRef.downloadRemote){				// console.debug('downloading',src);				dojo.xhrGet({					url: src,					sync: true,					load: function(code){						byRef.code += code+";";					},					error: byRef.errBack				});			}		}				// match <script>, <script type="text/..., but not <script type="dojo(/method)...		return cont.replace(/<script\s*(?![^>]*type=['"]?dojo)(?:[^>]*?(?:src=(['"]?)([^>]*?)\1[^>]*)?)*>([\s\S]*?)<\/script>/gi,			function(ignore, delim, src, code){				if(src){					download(src);				}else{					byRef.code += code;				}				return "";			}		);	}	function evalInGlobal(code, appendNode){		// we do our own eval here as dojo.eval doesn't eval in global crossbrowser		// This work X browser but but it relies on a DOM		// plus it doesn't return anything, thats unrelevant here but not for dojo core		appendNode = appendNode || dojo.doc.body;		var n = appendNode.ownerDocument.createElement('script');		n.type = "text/javascript";		appendNode.appendChild(n);		n.text = code; // DOM 1 says this should work	}	/*=====	dojox.layout.ContentPane.DeferredHandle = {		// cancel: Function		cancel: function(){			// summary: cancel a in flight download		},		addOnLoad: function(func){			// summary: add a callback to the onLoad chain			// func: Function		},		addOnUnload: function(func){			// summary: add a callback to the onUnload chain			// func: Function		}	}	=====*/dojo.declare("dojox.layout.ContentPane", dijit.layout.ContentPane, {	// summary:	//		An extended version of dijit.layout.ContentPane	//		Supports infile scrips and external ones declared by <script src=''	//		relative path adjustments (content fetched from a different folder)	//		<style> and <link rel='stylesheet' href='..'> tags,	//		css paths inside cssText is adjusted (if you set adjustPaths = true)	//	//		NOTE that dojo.require in script in the fetched file isn't recommended	//		Many widgets need to be required at page load to work properly	// adjustPaths: Boolean	//		Adjust relative paths in html string content to point to this page	//		Only usefull if you grab content from a another folder then the current one	adjustPaths: false,	// cleanContent: Boolean	//	summary:	//		cleans content to make it less likly to generate DOM/JS errors.	//	description:	//		usefull if you send contentpane a complete page, instead of a html fragment	//		scans for 	//	//			* style nodes, inserts in Document head	//			* title Node, remove	//			* DOCTYPE tag, remove	//			* `<!-- *JS code here* -->`	//			* `<![CDATA[ *JS code here* ]]>`	cleanContent: false,	// renderStyles: Boolean	//		trigger/load styles in the content	renderStyles: false,	// executeScripts: Boolean	//		Execute (eval) scripts that is found in the content	executeScripts: true,	// scriptHasHooks: Boolean

⌨️ 快捷键说明

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