"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();

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类