Home >Web Front-end >JS Tutorial >CCPry JS class library code_js object-oriented

CCPry JS class library code_js object-oriented

WBOY
WBOYOriginal
2016-05-16 18:42:481121browse
Copy code The code is as follows:

function CCPry(){
//
// Determine the browser type
//
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
};

//
//Return DOM object based on element ID
//
this.$Id=function(id){
return document.getElementById(id);
};
//
//Return the DOM object based on the element ID
//
this.Id=function(id){
var DomObjId=this.$Id(id );
if(!DomObjId){ throw new Error("No Object!");}
//Return or set the innerHTML attribute of the object
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!");};
};
//Return or set the innerText property of the object
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!");};
};
//Return or set the value attribute of the object
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;
};

//
//Return the DOM object according to the element Name
//
this .$Name=function(name){
return document.getElementsByName(name);
};

//
//Determine whether the string is empty or null
/ /
this.IsNullOrEmpty=function( str ) {
if(str==null){
return true;
}
else{
if(str.length<=0 ){
return true;
}
}
return false;
};
//
//Determine whether the string is empty
//
this.IsEmpty=function( str ) {
if(str.length<=0){
return true;
}
return false;
};
//
//Determine whether the string is null
//
this.IsNull=function( str ) {
if(str==null){
return true;
}
return false;
};
//
//Determine whether it is a function
//
this.IsFunction=function( fn ) {
return typeof(fn)==" function";
};

//
//Judge whether it is an object
//
this.IsObject=function( fn ) {
return typeof(fn) ==="object";
};
//
//Determine whether it is a string
//
this.IsString=function( fn ) {
return typeof(fn )=="string";
};

//
//Determine whether it is a numeric type
//
this.IsNumber=function( fn ) {
return typeof(fn)=="number";
};

//
//Determine whether it is a Boolean type
//
this.IsBoolean=function( fn ) {
return typeof(fn)=="boolean";
};

//
//Determine whether it is undefined
//
this.IsUndefined=function ( fn ) {
return typeof(fn)=="undefined";
};

//
//Determine whether it is a date type
//
this .IsDate=function( fn ) {
return fn.constructor==Date;
};

//
//Return Ajax object
//
this. Ajax=function(s){

//Construct XMLHttpRequest object
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("Failed to create XMLHttpRequest object");
return null;
}
return xmlHttpRequest;
};

//Default Ajax configuration
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: "*/*"
},
///
/// Call function
///

OnStart:function(){
//start
},
///
/ //Callback function after successful request
///

/// Server returns data
OnSuccess:function(msg ){
//success
},
///
/// Operation exception call function
///

/// Exception information
OnException:function(msg){
//exception
},
///
/// 请求超时后调用函数
///

OnTimeout:function(){
//timeout
},
///
/// 请求完成后调用函数
///

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;
}
}
}
}
//
// Intercept the string and include Chinese processing
//
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;
}
//
// Replace all
//
this.ReplaceAll=function(Str,oldString,newString){
return Str.replace(new RegExp(oldString,"gm"),newString);
},
//
// Get URL parameters, if invalid, return 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();

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn