Hutia 的 JS 代码集_Javascript教程-查字典教程网
Hutia 的 JS 代码集
Hutia 的 JS 代码集
发布时间:2016-12-30 来源:查字典编辑
摘要:main.basic.js复制代码代码如下:/***********************************************...

main.basic.js

复制代码 代码如下:

/**************************************************

*TheBasicLibforHUTIAframework

*Author:Hutia

*E-Mail:Hutia2@gmail.com

*Create:2006-08-21

*LastModify:2006-08-26

*Version:1.02

*CopyrightDeclare:Everybodycanuseforfreelybutcannotbeusedincommerce.

*

*Pleasekeepthisinformationwhilequote.

**/

//********BEFOREALL**************

varcurrentLibName="main.basic";

try{//catchalltheexceptionsduringloading

//=================DeclareCONSTANTSection===Start===========

varvbOK=0;varvbOKCancel=1;varvbAbortRetryIgnor=2;varvbYesNoCancel=3;

varvbYesNo=4;varvbRetryCacel=5;varvbStop=16;varvbQuest=32;varvbAlert=48;

varvbInfo=64;varvbReturnOK=1;varvbReturnCacel=2;varvbReturnAbort=3;

varvbReturnRetry=4;varvbReturnIgnor=5;varvbReturnYes=6;varvbReturnNo=7;

varvbCrLf="rn";

//-----------------DeclareCONSTANTSection-End---------------

/////////////////////////////////////////////////////////////////////////

//=================DeclareGlobalVariableSection===Start===========

varSITE_ROOT="E:hutiaprogramDevelopingGJS_v3".replace(//g,"/").replace(/([^/])$/,"$1/");

//-----------------DeclareGlobalVariableSection-End---------------

/////////////////////////////////////////////////////////////////////////

//=================DeclareGlobalFunctionSection===Start===========

//AliaNameforAsynLoader.depend

$depend=function(str,currentLibName,defer){

AsynLoader.depend(str,currentLibName,defer);

}

//AliaNameforAsynLoader.include

$include=function(str){

AsynLoader.include(str);

}

functionsay(str){

alert(str);

}

functionuid(){

return("u"+(newDate()).getTime().toString(35)+parseInt(Math.random()*999999).toString(35));

}

//-----------------DeclareGlobalFunctionSection-End---------------

/////////////////////////////////////////////////////////////////////////

//=================DeclareGlobalObjectSection===Start===========

//Theasynchronousloader

varAsynLoader=newfunction(){

//delareprivatevariable

varalias,currentPath,dependences,dependent,libs,paths;

}

AsynLoader.alertLoadResult=function(){

varstr="";

for(variinlibs){if(libs[i]=="loaded"){str+="Load""+i+""Successfully.rn";}else{str+=libs[i]+"rn";}}

say(str);

}

AsynLoader.alias=function(aliasName,strPath,singleInstance){

strPath=this.getPath(strPath);

if(!strPath||typeof(aliasName)!="string"||aliasName=="")return;

alias[aliasName]=strPath;

alias[aliasName][2]=Boolean(singleInstance);

}

AsynLoader.depend=function(strLibName,strSrcLibName,defer){

if(typeof(strLibName)!="string"||strLibName=="")throw("InvalidLibName.");

if(libs[strLibName]!="loaded"){

if(defer&&alias[strLibName]){

AsynLoader.include(strLibName);

}elsethrow("Dependencevalidationfailure.rn"+libs[strLibName]);

}

if(typeof(strSrcLibName)=="string"&&strSrcLibName!=""){

temp=strSrcLibName+"=>"+strLibName;

dependences.push(temp);

}

}

AsynLoader.getDependBy=function(str){

varre=newArray();

for(vari=0;i<dependences.length;i++)if(dependences[i].split("=>")[1]==str)re.push(dependences[i].split("=>")[0]);

return(re.join(";"));

}

AsynLoader.getDependOn=function(str){

varre=newArray();

for(vari=0;i<dependences.length;i++)if(dependences[i].split("=>")[0]==str)re.push(dependences[i].split("=>")[1]);

return(re.join(";"));

}

AsynLoader.getLibs=function(){

varre=newArray(),hash=newArray();

for(variinlibs)if(!hash[i]){hash[i]=true;re.push(i);}

re.sort();

return(re.join(";"));

}

AsynLoader.getPath=function(strPath){

varext,i,re,strPath;

if(typeof(strPath)!="string"||strPath=="")return(false);

ext="js";

if(strPath.indexOf(":")==-1)if(this.pathType=="absolute"){strPath=SITE_ROOT+currentPath+strPath;}else{strPath=currentPath+strPath;}

i=strPath.lastIndexOf(".");

if(i!=-1&&i<strPath.length-2){

ext=strPath.substring(i+1).toLowerCase();

}else{

strPath=strPath+"."+ext;

}

return([strPath,ext]);

}

AsynLoader.include=function(strPath,className){

varext,i,singleInstance,strPath;

if(alias[strPath]){

strPath=alias[strPath];

}else{

strPath=this.getPath(strPath);

}

if(!strPath)return(false);

ext=strPath[1];

singleInstance=Boolean(strPath[2])||className=="singleInstance"||paths[strPath]=="singleInstance";

strPath=strPath[0];

if(singleInstance&&paths[strPath])return;

paths[strPath]=singleInstance?"singleInstance":true;

switch(ext){

case"js":

document.write("<scr"+"ipttype="text/javascript"src=""+strPath+""></scr"+"ipt>");

break;

case"vbs":

document.write("<scr"+"ipttype="text/vbscript"src=""+strPath+""></scr"+"ipt>");

break;

case"css":

document.write("<linkrel="stylesheet"type="text/css"href=""+strPath+""/>");

break;

case"jpg":case"gif":case"bmp":case"jpeg":case"png":

document.write("<imgalt="""+(className?"class=""+className+""":"")+"src=""+strPath+""/>");

break;

default:

document.write("<iframeframeBorder="0""+(className?"class=""+className+""":"")+"src=""+strPath+""></iframe>");

break;

}

}

AsynLoader.init=function(){

alias=newArray();

currentPath="";

dependences=newArray();

dependent=newArray();

libs=newArray();

paths=newArray();

this.pathType="absolute";

}

AsynLoader.libs=function(blnNotLoaded){

varre=newArray();

for(variinlibs)if((libs[i]=="loaded")^blnNotLoaded)re.push(i);

return(re);

}

AsynLoader.loadFailure=function(strLibName,e){

if(e=="exit")return;

libs[strLibName]="Loading"+strLibName+"modelFailed:rn";

for(variine)libs[strLibName]+=""+i+":"+e[i]+"rn";

}

AsynLoader.loadSuccess=function(strLibName){

libs[strLibName]="loaded";

}

AsynLoader.setPath=function(strPath){

if(typeof(strPath)!="string")return;

currentPath=strPath.replace(//g,"/").replace(/([^/])$/,"$1/");

}

AsynLoader.singleInstance=function(strPath){

if(alias[strPath]){

strPath=alias[strPath];

}else{

strPath=this.getPath(strPath);

}

if(!strPath)return(false);

strPath=strPath[0];

if(paths[strPath]){

throw("exit");

}else{

paths[strPath]=true;

}

}

AsynLoader.init();

//-----------------DeclareGlobalObjectSection-End---------------

/////////////////////////////////////////////////////////////////////////

//=================InitializationSection===Start===========

AsynLoader.pathType="relative";

AsynLoader.include("js/main.alias.js");

//-----------------InitializationSection-End---------------

//*****************AFTERALL***********************

AsynLoader.loadSuccess(currentLibName);

}catch(e){AsynLoader.loadFailure(currentLibName);}

////////////////////////////////////////////////////////////////

///////////////////FileEnd//////////////////////////

////////////////////////////////////////////////////////////////

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类