欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

二级域名转向类_javascript技巧

程序员文章站 2022-04-05 20:47:09
...
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 //判定域名
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你还没有设置名为: \""+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


Loading....
īpt>





īpt>



详细效果请查看
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

如您使用或转载,请保留版权与个人信息。谢谢!
相关标签: js