当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 二级域名转向类

Javascript
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
javascript call和apply方法
createElement动态创建HTML对象脚本代码
javascript getElementById 使用方法及用法
javascript脚本调试方法小结
Document和Document.all区别分析
Javascript 对象的解释
javascript 随意拖动的小方块特效
Javascript 陷阱 window全局对象
Javascript hasOwnProperty 方法 & in 关键字
Javascript 构造函数 实例分析
javascript replace()方法的简单分析
javascript 尚未实现错误解决办法
js 对象外部访问或者调用问题
JavaScript模拟下拉菜单代码
js获取鼠标位置杂谈附多浏览器兼容代码
JS获得鼠标位置(兼容多浏览器ie,firefox)IT学习网修正版
JS 自动安装exe程序
javascript 动态添加事件代码
Js callBack 返回前一页的js方法

Javascript 中的 二级域名转向类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 319 ::
收藏到网摘: n/a

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("提示:\n\n你还没有设置名为: \""+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("请设置:\n\n1.缺省目录:DomainClass.defaultDir. \n\n2.缺省域名: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
如您使用或转载,请保留版权与个人信息。谢谢!