二級域名轉(zhuǎn)向類
更新時(shí)間:2006年11月09日 00:00:00 作者:
DomainClass.js
/*
@Class DomainClass(二級域名轉(zhuǎn)向類)
@author 逍遙云-http://bbs.51js.com
@Version 1.0
@Date 2006-11-2
@Rights 如使用請保留此信息,謝謝
*/
function DomainClass(){
//記錄本身
var ōwner=this;
//域名集合
var arr=[];
//////////////////////////////////////公開屬性
//設(shè)定缺省目錄
owner.defaultDir="";
//設(shè)定缺省域名
owner.defaultDomain="";
//設(shè)定缺省跳轉(zhuǎn)網(wǎng)址
owner.defaultURL="";
//不存在的域名跳轉(zhuǎn)
owner.noExistURL="";
/////////////////////////////////////公開方法
//添加域名方法
//參數(shù)1:域名 2:目錄 3:輸出域名 4:指定跳轉(zhuǎn)地址
owner.addDomain=function(){
if(arguments.length==0){
return;
}
if(arguments.length>0){
var tempObj=new Object();
tempObj.domain=arguments[0]; //域名
tempObj.dir=""; //對應(yīng)目錄
tempObj.out=""; //輸出域名
tempObj.url=""; //指定跳轉(zhuǎn)地址
}
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); //推入數(shù)組
}
//查找域名
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){
//跳轉(zhuǎn)
jumpWeb(href_loc,arr[i]);
return;
}
}
//不存在時(shí)處理的域名對象
var notObj=new Object();
notObj.out=owner.defaultDomain;
notObj.dir=owner.defaultDir;
notObj.url=owner.noExistURL;
alert("提示:\n\n你還沒有設(shè)置名為: \""+loc+"\" 這樣的域名!");
//域名頭替換
href_loc=href_loc.replace(/\/\/[^.]+/,"http://"+notObj.out);
jumpWeb(href_loc,notObj);
}
//跳轉(zhuǎn)函數(shù)
function jumpWeb(href_loc,obj){
//判定跳轉(zhuǎn)
if(obj.url!=""){
self.location=obj.url;
return;
}
//替換空域名為默認(rèn)
if(obj.out==""){
obj.out=owner.defaultDomain;
}
//域名替換
href_loc=href_loc.replace(/\/\/[^.]+/,"http://"+obj.out);
//替換空目錄為默認(rèn)
if(obj.dir==""){
obj.dir=owner.defaultDir;
}
//目錄替換
href_loc=href_loc.replace(/(\/\/[^\/]+\/)/,"$1"+obj.dir+"\/");
//重定義網(wǎng)址
self.location=href_loc;
}
//初始化,公開
owner.init=function(){
//如果設(shè)置了默認(rèn)跳轉(zhuǎn)
if(owner.defaultURL!=""){
self.location=owner.defaultURL;
return;
}
//如果沒設(shè)缺省目錄或缺省域名
if(owner.defaultDir==""||owner.defaultDomain==""){
alert("請?jiān)O(shè)置:\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:默認(rèn)跳轉(zhuǎn)目錄
defaultURL:默認(rèn)全部跳轉(zhuǎn)目錄,如設(shè)置了此項(xiàng),所有的請求就會以此為主
defaultDomain:默認(rèn)輸出域名
noExistURL:默認(rèn)無此網(wǎng)址的跳轉(zhuǎn),如設(shè)置了此項(xiàng),所有無網(wǎng)址的跳轉(zhuǎn)都以此為主,如果無則為默認(rèn)
addDomain:添加域名方法,最少一個(gè)參數(shù),否則視無效
*/
//設(shè)置默認(rèn)目錄
d.defaultDir="pal";
//設(shè)置默認(rèn)跳轉(zhuǎn)
//d.defaultURL="http://hi.baidu.com/pallove";
//設(shè)置默認(rèn)輸出域名
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>
詳細(xì)效果請查看
URL跳出
無憂逍遙的Blog http://51js.pallove.net
百度空間 http://baidu.pallove.net
目錄跳轉(zhuǎn)
http://pal.pallove.net/
http://love.pallove.net
http://flash.pallove.net
在此考貝以上代碼下載此類文件
http://pal.pallove.net/leon/code/javascrīpt/domainclass.js
如您使用或轉(zhuǎn)載,請保留版權(quán)與個(gè)人信息。謝謝!
/*
@Class DomainClass(二級域名轉(zhuǎn)向類)
@author 逍遙云-http://bbs.51js.com
@Version 1.0
@Date 2006-11-2
@Rights 如使用請保留此信息,謝謝
*/
function DomainClass(){
//記錄本身
var ōwner=this;
//域名集合
var arr=[];
//////////////////////////////////////公開屬性
//設(shè)定缺省目錄
owner.defaultDir="";
//設(shè)定缺省域名
owner.defaultDomain="";
//設(shè)定缺省跳轉(zhuǎn)網(wǎng)址
owner.defaultURL="";
//不存在的域名跳轉(zhuǎn)
owner.noExistURL="";
/////////////////////////////////////公開方法
//添加域名方法
//參數(shù)1:域名 2:目錄 3:輸出域名 4:指定跳轉(zhuǎn)地址
owner.addDomain=function(){
if(arguments.length==0){
return;
}
if(arguments.length>0){
var tempObj=new Object();
tempObj.domain=arguments[0]; //域名
tempObj.dir=""; //對應(yīng)目錄
tempObj.out=""; //輸出域名
tempObj.url=""; //指定跳轉(zhuǎn)地址
}
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); //推入數(shù)組
}
//查找域名
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){
//跳轉(zhuǎn)
jumpWeb(href_loc,arr[i]);
return;
}
}
//不存在時(shí)處理的域名對象
var notObj=new Object();
notObj.out=owner.defaultDomain;
notObj.dir=owner.defaultDir;
notObj.url=owner.noExistURL;
alert("提示:\n\n你還沒有設(shè)置名為: \""+loc+"\" 這樣的域名!");
//域名頭替換
href_loc=href_loc.replace(/\/\/[^.]+/,"http://"+notObj.out);
jumpWeb(href_loc,notObj);
}
//跳轉(zhuǎn)函數(shù)
function jumpWeb(href_loc,obj){
//判定跳轉(zhuǎn)
if(obj.url!=""){
self.location=obj.url;
return;
}
//替換空域名為默認(rèn)
if(obj.out==""){
obj.out=owner.defaultDomain;
}
//域名替換
href_loc=href_loc.replace(/\/\/[^.]+/,"http://"+obj.out);
//替換空目錄為默認(rèn)
if(obj.dir==""){
obj.dir=owner.defaultDir;
}
//目錄替換
href_loc=href_loc.replace(/(\/\/[^\/]+\/)/,"$1"+obj.dir+"\/");
//重定義網(wǎng)址
self.location=href_loc;
}
//初始化,公開
owner.init=function(){
//如果設(shè)置了默認(rèn)跳轉(zhuǎn)
if(owner.defaultURL!=""){
self.location=owner.defaultURL;
return;
}
//如果沒設(shè)缺省目錄或缺省域名
if(owner.defaultDir==""||owner.defaultDomain==""){
alert("請?jiān)O(shè)置:\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:默認(rèn)跳轉(zhuǎn)目錄
defaultURL:默認(rèn)全部跳轉(zhuǎn)目錄,如設(shè)置了此項(xiàng),所有的請求就會以此為主
defaultDomain:默認(rèn)輸出域名
noExistURL:默認(rèn)無此網(wǎng)址的跳轉(zhuǎn),如設(shè)置了此項(xiàng),所有無網(wǎng)址的跳轉(zhuǎn)都以此為主,如果無則為默認(rèn)
addDomain:添加域名方法,最少一個(gè)參數(shù),否則視無效
*/
//設(shè)置默認(rèn)目錄
d.defaultDir="pal";
//設(shè)置默認(rèn)跳轉(zhuǎn)
//d.defaultURL="http://hi.baidu.com/pallove";
//設(shè)置默認(rèn)輸出域名
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>
詳細(xì)效果請查看
URL跳出
無憂逍遙的Blog http://51js.pallove.net
百度空間 http://baidu.pallove.net
目錄跳轉(zhuǎn)
http://pal.pallove.net/
http://love.pallove.net
http://flash.pallove.net
在此考貝以上代碼下載此類文件
http://pal.pallove.net/leon/code/javascrīpt/domainclass.js
如您使用或轉(zhuǎn)載,請保留版權(quán)與個(gè)人信息。謝謝!
相關(guān)文章
js使用正則實(shí)現(xiàn)ReplaceAll全部替換的方法
JS?沒有提供replaceAll這樣的方法。使用正則表可以達(dá)成Replace?的效果,感興趣的朋友看看下面的示例2014-08-08
javaScript實(shí)現(xiàn)支付10秒倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了javaScript實(shí)現(xiàn)支付10秒倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
javascript實(shí)現(xiàn)表格排序 編輯 拖拽 縮放
這篇文章主要介紹了javascript實(shí)現(xiàn)表格排序 編輯 拖拽 縮放的方法,效果非常不錯,只是兼容性還有些問題,有待優(yōu)化。2015-01-01
js與css實(shí)現(xiàn)彈出層覆蓋整個(gè)頁面的方法
這篇文章主要介紹了js與css實(shí)現(xiàn)彈出層覆蓋整個(gè)頁面的方法,分別以實(shí)例形式展示了彈出層覆蓋整個(gè)頁面的css樣式與js控制的實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12
JavaScript函數(shù)中的防抖與節(jié)流原生實(shí)現(xiàn)及第三方庫的使用
當(dāng)你頻繁的觸發(fā)用戶界面時(shí),會不停的觸發(fā)事件處理函數(shù),可能導(dǎo)致界面卡頓,瀏覽器奔潰,頁面空白等情況,而解決這一問題的,正是函數(shù)節(jié)流與函數(shù)防抖,所以本文將給大家介紹一下JavaScript函數(shù)中的防抖與節(jié)流原生實(shí)現(xiàn)及第三方庫的使用,需要的朋友可以參考下2023-10-10

