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 相关文章推荐
asp.net中System.Timers.Timer的使用方法
Mar 20 Javascript
js中onload与onunload的使用示例
Aug 25 Javascript
JS 仿腾讯发表微博的效果代码
Dec 25 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
node.js中的console用法总结
Dec 15 Javascript
JS判断字符串包含的方法
May 05 Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 Javascript
JavaScript——DOM操作——Window.document对象详解
Jul 14 Javascript
AngularJS实现根据变量改变动态加载模板的方法
Nov 04 Javascript
你可能不知道的JSON.stringify()详解
Aug 17 Javascript
JavaScript代码实现txt文件的上传预览功能
Mar 27 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
May 22 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 采集心得技巧
2009/05/15 PHP
php实现httpclient类示例
2014/04/08 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
vue实现留言板todolist功能
2017/08/16 Javascript
详解vue中组件参数
2018/07/09 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python 实现随机数详解及实例代码
2017/04/15 Python
windows下python和pip安装教程
2018/05/25 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
python通过cython加密代码
2020/12/11 Python
python爬虫基础之urllib的使用
2020/12/31 Python
本科毕业生自我鉴定
2013/11/02 职场文书
八年级生物教学反思
2014/01/22 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
Python 阶乘详解
2021/10/05 Python
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers