CCPry JS类库 代码


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();
Javascript 相关文章推荐
JavaScript入门之基本函数详解
Oct 21 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
Aug 15 Javascript
Node.js中的事件驱动编程详解
Aug 16 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
Oct 10 Javascript
使用jQuery实现验证上传图片的格式与大小
Dec 03 Javascript
js自调用匿名函数的三种写法(推荐)
Aug 19 Javascript
jQuery实现百度登录框的动态切换效果
Apr 21 jQuery
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
基于vue中css预加载使用sass的配置方式详解
Mar 13 Javascript
详解javascript replace高级用法
Feb 17 Javascript
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 Javascript
Iframe 自适应高度并实时监控高度变化的js代码
Oct 30 #Javascript
扩展jQuery 键盘事件的几个基本方法
Oct 30 #Javascript
jQuery 扩展对input的一些操作方法
Oct 30 #Javascript
jquery 弹出层实现代码
Oct 30 #Javascript
网页禁用右键实现代码(JavaScript代码)
Oct 29 #Javascript
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
Oct 29 #Javascript
JScript 脚本实现文件下载 一般用于下载木马
Oct 29 #Javascript
You might like
PHP常用代码大全(新手入门必备)
2010/06/29 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
python执行等待程序直到第二天零点的方法
2015/04/23 Python
python计算列表内各元素的个数实例
2018/06/29 Python
python实现抖音点赞功能
2019/04/07 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
广告学专业毕业生自荐信
2013/09/24 职场文书
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
北大自主招生自荐信
2015/03/04 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL