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 相关文章推荐
个人总结的一些关于String、Function、Array的属性和用法
Jan 10 Javascript
实现连缀调用的map方法(prototype)
Aug 05 Javascript
基于jquery用于查询操作的实现代码
May 10 Javascript
推荐8款jQuery轻量级树形Tree插件
Nov 12 Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
Oct 23 Javascript
js如何准确获取当前页面url网址信息
Sep 13 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 Javascript
解决vue数组中对象属性变化页面不渲染问题
Aug 09 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 Javascript
layui table 多行删除(id获取)的方法
Sep 12 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
Sep 17 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与Java进行通信的实现方法
2013/10/21 PHP
PHP迭代器实现斐波纳契数列的函数
2013/11/12 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python 自动提交和抓取网页
2009/07/13 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
致800米运动员广播稿
2014/02/16 职场文书
中药学专业毕业生推荐信
2014/07/10 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL
JavaScript原型链详解
2021/11/07 Javascript
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫
flex弹性布局详解
2022/03/20 HTML / CSS