二級域名轉向類
2019-11-21 02:28:12
供稿:網友
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("http://")[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(/////[^.]+/,"http://"+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(/////[^.]+/,"http://"+obj.out);
//替換空目錄為默認
if(obj.dir==""){
obj.dir=owner.defaultDir;
}
//目錄替換
href_loc=href_loc.replace(/(////[^//]+//)/,"$1"+obj.dir+"http://");
//重定義網址
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
如您使用或轉載,請保留版權與個人信息。謝謝!