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 相关文章推荐
根据出生日期自动取得星座的js代码
Jul 20 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
May 07 Javascript
JavaScript框架(iframe)操作总结
Apr 16 Javascript
JavaScript设计模式之外观模式实例
Oct 10 Javascript
Js制作点击输入框时默认文字消失的效果
Sep 05 Javascript
学习JavaScript设计模式之策略模式
Jan 12 Javascript
JavaScript中Object.prototype.toString方法的原理
Feb 24 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
Apr 07 Javascript
webpack写jquery插件的环境配置
Dec 21 jQuery
js input输入百分号保存数据库失败的解决方法
May 26 Javascript
JavaScript创建防篡改对象的方法分析
Dec 30 Javascript
js获取 gif 的帧数的代码实例
Sep 10 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
分享10段PHP常用代码
2015/11/11 PHP
php文件缓存方法总结
2016/03/16 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
解决vue的router组件component在import时不能使用变量问题
2020/07/26 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
python抓取京东商城手机列表url实例代码
2013/12/18 Python
python实现简单中文词频统计示例
2017/11/08 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
简单了解python模块概念
2018/01/11 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
使用Python函数进行模块化的实现
2019/11/15 Python
使用Django清空数据库并重新生成
2020/04/03 Python
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
2014年应届大学生自我评价
2014/01/09 职场文书
客服专员岗位职责
2014/02/28 职场文书
幼儿园运动会口号
2014/06/07 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
教你利用python实现企业微信发送消息
2021/05/23 Python
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL