DomainClass.js /* @Class DomainClass(二级域名转向类) @author 逍遥云-http://bbs.51js.com @Version 1.0 @Date 2006-11-2 @Rights 如使用请保留此信息,谢谢 */ function DomainClass(){ //记录本身 var ōwner=this; //域名集合 var arr=[]; //////////////////////////////////////公开属性 //设定缺省目录 owner.defaultDir=""; //设定缺省域名 owner.defaultDomain=""; //设定缺省跳转网址 owner.defaultURL=""; //不存在的域名跳转 owner.noExistURL=""; /////////////////////////////////////公开方法 //添加域名方法 //参数1:域名 2:目录 3:输出域名 4:指定跳转地址 owner.addDomain=function(){ if(arguments.length==0){ return; } if(arguments.length>0){ var tempObj=new Object(); tempObj.domain=arguments[0]; //域名 tempObj.dir=""; //对应目录 tempObj.out=""; //输出域名 tempObj.url=""; //指定跳转地址 } if(arguments.length>1){ tempObj.dir=arguments[1]; } if(arguments.length>2){ tempObj.out=arguments[2]; } if(arguments.length>3){ tempObj.url=arguments[3]; } arr.push(tempObj); //推入数组 } //查找域名 function seekDomain(href_loc){ //取得二级域名头 var loc=href_loc.split("//")[1].split(".")[0]; for(var i=0;i<arr.length;i++){ //判定域名 if(arr[i].domain==loc){ //跳转 jumpWeb(href_loc,arr[i]); return; } } //不存在时处理的域名对象 var notObj=new Object(); notObj.out=owner.defaultDomain; notObj.dir=owner.defaultDir; notObj.url=owner.noExistURL; alert("提示:nn你还没有设置名为: ""+loc+"" 这样的域名!"); //域名头替换 href_loc=href_loc.replace(///[^.]+/,"//"+notObj.out); jumpWeb(href_loc,notObj); } //跳转函数 function jumpWeb(href_loc,obj){ //判定跳转 if(obj.url!=""){ self.location=obj.url; return; } //替换空域名为默认 if(obj.out==""){ obj.out=owner.defaultDomain; } //域名替换 href_loc=href_loc.replace(///[^.]+/,"//"+obj.out); //替换空目录为默认 if(obj.dir==""){ obj.dir=owner.defaultDir; } //目录替换 href_loc=href_loc.replace(/(//[^/]+/)/,"$1"+obj.dir+"/"); //重定义网址 self.location=href_loc; } //初始化,公开 owner.init=function(){ //如果设置了默认跳转 if(owner.defaultURL!=""){ self.location=owner.defaultURL; return; } //如果没设缺省目录或缺省域名 if(owner.defaultDir==""||owner.defaultDomain==""){ alert("请设置:nn1.缺省目录:DomainClass.defaultDir. nn2.缺省域名:DomainClass.defaultDomain "); } else{ seekDomain(self.location.href); } } } index.htm <HTML> <HEAD> <TITLE> Loading.... </TITLE> <scrīpt LANGUAGE="Javascrīpt" src="leon/code/javascrīpt/domainclass.js"></scrīpt> </HEAD> <BODY> <scrīpt LANGUAGE="Javascrīpt"> <!-- var d=new DomainClass(); /* defaultDir:默认跳转目录 defaultURL:默认全部跳转目录,如设置了此项,所有的请求就会以此为主 defaultDomain:默认输出域名 noExistURL:默认无此网址的跳转,如设置了此项,所有无网址的跳转都以此为主,如果无则为默认 addDomain:添加域名方法,最少一个参数,否则视无效 */ //设置默认目录 d.defaultDir="pal"; //设置默认跳转 //d.defaultURL="http://hi.baidu.com/pallove"; //设置默认输出域名 d.defaultDomain="pal"; //添加二级域名 d.addDomain("pal","pal","pal"); d.addDomain("blog","blog","pal"); d.addDomain("leon","leon","love"); d.addDomain("51js","51js","51js","http://www.51js.com/11191"); d.addDomain("baidu","","","http://hi.baidu.com/pallove"); d.init(); //--> </scrīpt> </BODY> </HTML> 详细效果请查看 URL跳出 无忧逍遥的Blog http://51js.pallove.net 百度空间 http://baidu.pallove.net 目录跳转 http://pal.pallove.net/ http://love.pallove.net http://flash.pallove.net 在此考贝以上代码下载此类文件 http://pal.pallove.net/leon/code/javascrīpt/domainclass.js 如您使用或转载,请保留版权与个人信息。谢谢!
推荐阅读
一个加密JavaScript的开源工具PACKER2.0.2
这是一个并非很复杂的编码工具,编码过后可以被浏览器直接识别。新浪在用。比如:http://comment4.news.sina.com.cn/comment/cmnt_xml.js从这里进入http://dean.edwards.name/packer/,很简单的一个界面。设置也很>>>详细阅读
本文标题:二级域名转向类
地址:http://www.17bianji.com/kaifa2/JS/31375.html
1/2 1