Posted in Javascript onOctober 30, 2009
function CCPry(){ // // 判断浏览器类型 // this.Browser ={ "isMozilla":(typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined'), "isIE":window.ActiveXObject ? true : false, "isFirefox":navigator.userAgent.toLowerCase().indexOf("firefox")!=-1, "isOpera":navigator.userAgent.toLowerCase().indexOf("opera")!=-1 }; // //根据元素ID返回DOM对象 // this.$Id=function(id){ return document.getElementById(id); }; // //根据元素ID返回DOM对象 // this.Id=function(id){ var DomObjId=this.$Id(id); if(!DomObjId){ throw new Error("No Object!");} //返回或设置对象的innerHTML属性 this.Html=function(html){ if(!this.IsUndefined(DomObjId.innerHTML)) { if(!this.IsNull(html)){ DomObjId.innerHTML=html; } else{ return DomObjId.innerHTML }; } else{ throw new Error("Object does not support the property innerHTML!");}; }; //返回或设置对象的innerText属性 this.Text=function(text){ if(!this.IsUndefined(DomObjId.innerText)) { if(!this.IsNull(text)){ DomObjId.innerText=text; } else{ return DomObjId.innerText }; } else{ throw new Error("Object does not support the property innerText!");}; }; //返回或设置对象的value属性 this.Val=function(val){ if(!this.IsUndefined(DomObjId.value)) { if(!this.IsNull(val)){ DomObjId.value=val; } else{ return DomObjId.value }; } else{ throw new Error("Object does not support the property value!");}; } return this; }; // //根据元素Name返回DOM对象 // this.$Name=function(name){ return document.getElementsByName(name); }; // //判断字符串是否为空或者null // this.IsNullOrEmpty=function( str ) { if(str==null){ return true; } else{ if(str.length<=0){ return true; } } return false; }; // //判断字符串是否为空 // this.IsEmpty=function( str ) { if(str.length<=0){ return true; } return false; }; // //判断字符串是否null // this.IsNull=function( str ) { if(str==null){ return true; } return false; }; // //判断是否是函数 // this.IsFunction=function( fn ) { return typeof(fn)=="function"; }; // //判断是否是对象 // this.IsObject=function( fn ) { return typeof(fn)=="object"; }; // //判断是否是字符串 // this.IsString=function( fn ) { return typeof(fn)=="string"; }; // //判断是否是数字型 // this.IsNumber=function( fn ) { return typeof(fn)=="number"; }; // //判断是否是布尔型 // this.IsBoolean=function( fn ) { return typeof(fn)=="boolean"; }; // //判断是否未定义 // this.IsUndefined=function( fn ) { return typeof(fn)=="undefined"; }; // //判断是否是日期型 // this.IsDate=function( fn ) { return fn.constructor==Date; }; // //返回Ajax对象 // this.Ajax=function(s){ //构造XMLHttpRequest对象 GetXmlHttpRequest=function(){ var xmlHttpRequest; if(window.XMLHttpRequest) { xmlHttpRequest = new XMLHttpRequest();} else if(window.ActiveXObject) { try { xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } } if (!xmlHttpRequest) { alert("创建XMLHttpRequest对象失败"); return null; } return xmlHttpRequest; }; //默认Ajax配置 ajaxSettings={ url: "/ajax/ProcessAjax.ashx", method: "POST", timeout: 0, mimeType: "application/x-www-form-urlencoded", async: true, data: null, datatype:"html", charset:"utf-8", accepts: { xml: "application/xml, text/xml", html: "text/html", script: "text/javascript, application/javascript", json: "application/json, text/javascript", text: "text/plain", _default: "*/*" }, /// <summary> /// 请求开始时调用函数 /// </summary> OnStart:function(){ //start }, /// <summary> /// 请求成功后回调函数 /// </summary> /// <param name="msg">服务器返回数据</param> OnSuccess:function(msg){ //success }, /// <summary> /// 操作异常调用函数 /// </summary> /// <param name="msg">异常信息</param> OnException:function(msg){ //exception }, /// <summary> /// 请求超时后调用函数 /// </summary> OnTimeout:function(){ //timeout }, /// <summary> /// 请求完成后调用函数 /// </summary> OnComplate:function(){ //complate } }; if(this.IsObject(s)){ /*检测传入对象*/ ajaxSettings.url = (!this.IsUndefined(s.url) && this.IsString(s.url)) ? s.url : ajaxSettings.url; ajaxSettings.method =(!this.IsUndefined(s.method) && this.IsString(s.method)) ? s.method : ajaxSettings.method; ajaxSettings.timeout = (!this.IsUndefined(s.timeout) && this.IsNumber(s.timeout)) ? s.timeout : ajaxSettings.timeout; ajaxSettings.mimeType= (!this.IsUndefined(s.mimeType) && this.IsString(s.mimeType)) ? s.mimeType : ajaxSettings.mimeType; ajaxSettings.async = (!this.IsUndefined(s.async) && this.IsBoolean(s.async)) ? s.async : ajaxSettings.async; ajaxSettings.data = (!this.IsUndefined(s.data) && this.IsString(s.data)) ? s.data : ajaxSettings.data; ajaxSettings.datatype = (!this.IsUndefined(s.datatype) && this.IsString(s.datatype)) ? s.datatype: ajaxSettings.datatype; ajaxSettings.charset =(!this.IsUndefined(s.charset) && this.IsString(s.charset)) ? s.charset: ajaxSettings.charset; ajaxSettings.OnStart =(!this.IsUndefined(s.OnStart) && this.IsFunction(s.OnStart)) ? s.OnStart : ajaxSettings.OnStart; ajaxSettings.OnSuccess =(!this.IsUndefined(s.OnSuccess) && this.IsFunction(s.OnSuccess)) ? s.OnSuccess : ajaxSettings.OnSuccess; ajaxSettings.OnException=(!this.IsUndefined(s.OnException)&&this.IsFunction(s.OnException))?s.OnException:ajaxSettings.OnException; ajaxSettings.OnTimeout = (!this.IsUndefined(s.OnTimeout) && this.IsFunction(s.OnTimeout)) ? s.OnTimeout : ajaxSettings.OnTimeout; ajaxSettings.OnComplate=(!this.IsUndefined(s.OnComplate) && this.IsFunction(s.OnComplate)) ? s.OnComplate : ajaxSettings.OnComplate; //赋值xmlhttp,传入XMLHttpRequest对象 var xmlhttp=GetXmlHttpRequest(); var requestDone=false; try { //根据POST或GET方法判断xmlhttp.send()需要传入什么参数 if (ajaxSettings.data && ajaxSettings.method.toUpperCase() == "GET" ) { ajaxSettings.url += (ajaxSettings.url.match(/\?/) ? "&" : "?") + ajaxSettings.data; ajaxSettings.data = null; } xmlhttp.open(ajaxSettings.method,ajaxSettings.url,ajaxSettings.async); xmlhttp.setRequestHeader("Content-Type", ajaxSettings.mimeType); xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"); // 设置标题表明一个XMLHttpRequest的请求 xmlhttp.setRequestHeader("Accept",ajaxSettings.datatype && ajaxSettings.accepts[ ajaxSettings.datatype ] ?ajaxSettings.accepts[ ajaxSettings.datatype ] + ", */*" :ajaxSettings.accepts._default); if(ajaxSettings.timeout>0){ var timer=setTimeout(function(){requestDone=true;xmlhttp.abort();},ajaxSettings.timeout); } var xmlreadystatechange=function () { if(requestDone){ ajaxSettings.OnTimeout(); } //timeout else if(xmlhttp.readyState==4) //success { if (timer) { clearTimeout(timer); timer = null;} if (xmlhttp.status==200 || xmlhttp.status=="success") { switch(ajaxSettings.datatype.toLowerCase()) { case "html": ajaxSettings.OnSuccess(xmlhttp.responseText); break; case "xml": ajaxSettings.OnSuccess(xmlhttp.responseXML); break; } } ajaxSettings.OnComplate(); //complate if (ajaxSettings.async&&xmlhttp){ xmlhttp=null; } } else{ajaxSettings.OnStart();} //start } xmlhttp.onreadystatechange=xmlreadystatechange; xmlhttp.send(ajaxSettings.data); if (!ajaxSettings.async){ xmlreadystatechange();xmlhttp=null; } } catch(e){ ajaxSettings.OnException(e.message); //exception } } return this; } // // 拆分JSON对象并以特定符号连接组成字符串 // this.SplitJson=function(jsonObj,splitSign){ var jsonStr='',signLastIndex; for (jo in jsonObj) { jsonStr += (jo + "=" + jsonObj[jo] + splitSign) ; } signLastIndex=jsonStr.lastIndexOf(splitSign); if(signLastIndex!=-1){ jsonStr=jsonStr.substring(0,signLastIndex); } return jsonStr; } // // JS图片缩略 // this.DrawImage=function(ImgD,iwidth,iheight){ var flag=false; var image=new Image(); image.src=ImgD.src; if(image.width>0 && image.height>0) { flag=true; if(image.width/image.height>= iwidth/iheight) { if(image.width>iwidth) { ImgD.width=iwidth; ImgD.height=(image.height*iwidth)/image.width; } else { ImgD.width=image.width; ImgD.height=image.height; } } else { if(image.height>iheight) { ImgD.height=iheight; ImgD.width=(image.width*iheight)/image.height; } else { ImgD.width=image.width; ImgD.height=image.height; } } } } // // 截取字符串 包含中文处理 // this.SubString=function(str, len, hasDot){ var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = ""; var strLength = str.replace(chineseRegex,"**").length; for(var i = 0;i < strLength;i++) { singleChar = str.charAt(i).toString(); if(singleChar.match(chineseRegex) != null) { newLength += 2; } else { newLength++; } if(newLength > len) { break; } newStr += singleChar; } if(hasDot && strLength > len) { newStr += ""; } return newStr; } // // 替换所有 // this.ReplaceAll=function(Str,oldString,newString){ return Str.replace(new RegExp(oldString,"gm"),newString); }, // // 获得URL参数,无效返回undfined // this.RequestQueryString=function(url){ var qIndex=url.indexOf('?'); var queryObj={}; if(qIndex!=-1){ var queryStr=url.substring(qIndex+1,url.length); if(queryStr.indexOf('&')!=-1){ var arrQuery = new Array(); arrQuery=queryStr.split('&'); for(arrStr in arrQuery){ paramKey=arrQuery[arrStr].substring(0,arrQuery[arrStr].indexOf("=")).toLowerCase(); paramValue=arrQuery[arrStr].substring(arrQuery[arrStr].indexOf("=")+1,arrQuery[arrStr].length); queryObj[paramKey]=paramValue } } else{ paramKey=queryStr.substring(0,queryStr.indexOf("=")).toLowerCase(); paramValue=queryStr.substring(queryStr.indexOf("=")+1,queryStr.length); queryObj[paramKey]=paramValue; } } return queryObj; } } window.$CC=new CCPry();
CCPry JS类库 代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@