>  기사  >  웹 프론트엔드  >  CCPry JS 클래스 라이브러리 code_js 객체 지향

CCPry JS 클래스 라이브러리 code_js 객체 지향

WBOY
WBOY원래의
2016-05-16 18:42:481044검색
코드 복사 코드는 다음과 같습니다.

function CCPry(){
//
// 브라우저 유형 결정
//
this.Browser ={
"isMozilla":(typeof document.implementation != '정의되지 않음') && (문서 유형.implementation.createDocument != '정의되지 않음') && (HTMLDocument 유형!='정의되지 않음'),
"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.IsUndefine(DomObjId.innerHTML))
{
if(!this.IsNull(html)){
DomObjId.innerHTML=html
}
else{ return DomObjId .innerHTML };
}
else{ throw new Error("객체가 innerHTML 속성을 지원하지 않습니다!");}
}; 객체의 innerText 속성
this.Text=function(text){
if(!this.IsUndefine(DomObjId.innerText))
{
if(!this.IsNull(text)) {
DomObjId.innerText= text;
}
else{ return DomObjId.innerText };
}
else{ throw new Error("객체가 innerText 속성을 지원하지 않습니다!"); };
};//객체의 값 속성을 반환하거나 설정합니다.
this.Val=function(val){
if(!this.IsUndefine(DomObjId.value))
{
if(!this.IsNull(val)){
DomObjId.value=val;
}
else{ return DomObjId.value }
else{ throw new Error("객체는 속성 값을 지원하지 않습니다!");};
}
return this

//
//다음에 따라 DOM 객체를 반환합니다. 요소 Name
//
this .$Name=function(name){
return document.getElementsByName(name)
}; /문자열이 비어 있는지 또는 null인지 확인
/ /
this.IsNullOrEmpty=function( str ) {
if(str==null){
return true
}
else{
if(str.length<=0 ){
return
}
}
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.IsUndefine=function ( fn ) {
return typeof(fn)=="undefine"
}; >
//
//날짜 유형인지 확인
//
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",
메서드: "POST",
시간 제한: 0,
mimeType: "application/x-www-form-urlencoded",
async: true,
데이터: null,
데이터 유형: "html",
문자 집합: "utf-8",
accepts: {
xml: "application/xml, text/xml",
html: "text/html",
스크립트: "text/javascript, 애플리케이션/javascript",
json: "application /json, text/javascript",
텍스트: "text/plain",
_default: "*/*"
},
///
/// 함수 호출
///

OnStart:function(){
//start
},
///
/ //요청 성공 후 콜백 함수
///
/// < ;param name="msg">서버가 데이터를 반환합니다
OnSuccess:function(msg ){
//success
},
/// /// 연산 예외 호출 함수
///

/// 예외 정보OnException:function(msg){
//예외
},
/// <요약>
/// 请求超时后调用函数
///
OnTimeout:function(){
//timeout
},
///
/// 请求完成后调用函数
///

OnComplate:function(){
//complate
}
};

if(this.IsObject(s)){

/*检测传入对象*/
ajaxSettings.url = (!this.IsUndefine(s.url) && this. IsString(s.url)) ? s.url : ajaxSettings.url;
ajaxSettings.method =(!this.IsUndefine(s.method) && this.IsString(s.method)) ? s.method : ajaxSettings.method;
ajaxSettings.timeout = (!this.IsUndefine(s.timeout) && this.IsNumber(s.timeout)) ? s.timeout : ajaxSettings.timeout;
ajaxSettings.mimeType= (!this.IsUndefine(s.mimeType) && this.IsString(s.mimeType)) ? s.mimeType : ajaxSettings.mimeType;
ajaxSettings.async = (!this.IsUndefine(s.async) && this.IsBoolean(s.async)) ? s.async : ajaxSettings.async;
ajaxSettings.data = (!this.IsUndefine(s.data) && this.IsString(s.data)) ? s.data : ajaxSettings.data;
ajaxSettings.datatype = (!this.IsUndefine(s.datatype) && this.IsString(s.datatype)) ? s.datatype: ajaxSettings.datatype;
ajaxSettings.charset =(!this.IsUndefine(s.charset) && this.IsString(s.charset)) ? s.charset: ajaxSettings.charset;
ajaxSettings.OnStart =(!this.IsUndefine(s.OnStart) && this.IsFunction(s.OnStart)) ? s.OnStart : ajaxSettings.OnStart;
ajaxSettings.OnSuccess =(!this.IsUndefine(s.OnSuccess) && this.IsFunction(s.OnSuccess)) ? s.OnSuccess : ajaxSettings.OnSuccess;
ajaxSettings.OnException=(!this.IsUndefine(s.OnException)&&this.IsFunction(s.OnException))?s.OnException:ajaxSettings.OnException;
ajaxSettings.OnTimeout = (!this.IsUndefine(s.OnTimeout) && this.IsFunction(s.OnTimeout)) ? s.OnTimeout : ajaxSettings.OnTimeout;
ajaxSettings.OnComplate=(!this.IsUndefine(s.OnComplate) && this.IsFunction(s.OnComplate)) ? s.OnComplate : ajaxSettings.OnComplate;

//赋值xmlhttp,传入XMLHttpRequest对象
var xmlhttp=GetXmlHttpRequest();
var requestDone=false;
시도하세요
{
//根据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 타이머=setTimeout(function(){requestDone=true;xmlhttp.abort();},ajaxSettings.timeout);
}
var xmlreadystatechange=function ()
{
if(requestDone){ ajaxSettings.OnTimeout(); } //시간 초과
else if(xmlhttp.readyState==4) //성공
{
if (timer) {clearTimeout(timer); 타이머 = null;}
if (xmlhttp.status==200 || xmlhttp.status=="success")
{
switch(ajaxSettings.datatype.toLowerCase())
{
case "html":
ajaxSettings.OnSuccess(xmlhttp.responseText);
휴식;
케이스 "xml":
ajaxSettings.OnSuccess(xmlhttp.responseXML);
휴식;
}
}
ajaxSettings.OnComplate(); //컴플레이트
if (ajaxSettings.async&&xmlhttp){ xmlhttp=null; }
}
else{ajaxSettings.OnStart();} //시작
}
xmlhttp.onreadystatechange=xmlreadystatechange;
xmlhttp.send(ajaxSettings.data);
if (!ajaxSettings.async){ xmlreadystatechange();xmlhttp=null; }
}
catch(e){
ajaxSettings.OnException(e.message); //예외
}
}
이것을 반환합니다.
}
//
// 拆分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 = ""; 교체 (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 매개변수 가져오기, 유효하지 않은 경우 정의되지 않은 반환
/ /
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() ;


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.