二級域名轉(zhuǎn)向類
更新時間: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;
}
}
//不存在時處理的域名對象
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("請設(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è)置了此項,所有的請求就會以此為主
defaultDomain:默認(rèn)輸出域名
noExistURL:默認(rèn)無此網(wǎng)址的跳轉(zhuǎn),如設(shè)置了此項,所有無網(wǎng)址的跳轉(zhuǎn)都以此為主,如果無則為默認(rèn)
addDomain:添加域名方法,最少一個參數(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)與個人信息。謝謝!
/*
@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;
}
}
//不存在時處理的域名對象
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("請設(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è)置了此項,所有的請求就會以此為主
defaultDomain:默認(rèn)輸出域名
noExistURL:默認(rèn)無此網(wǎng)址的跳轉(zhuǎn),如設(shè)置了此項,所有無網(wǎng)址的跳轉(zhuǎn)都以此為主,如果無則為默認(rèn)
addDomain:添加域名方法,最少一個參數(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)與個人信息。謝謝!
相關(guān)文章
javascript中打印當(dāng)前的時間實現(xiàn)思路及代碼
打印當(dāng)前的時間的方法有很多,在本文為大家詳細(xì)介紹下使用javascript是如何做到的,具體實現(xiàn)如下,感興趣的朋友可以參考下2013-12-12window.event快達到全瀏覽器支持了,以后使用就方便了
在Tangram群里討論到<a href="#" onclick="baidu.event.preventDefault(event);">的寫法時,以為標(biāo)準(zhǔn)瀏覽器只能用arguments[0]來獲取到event,結(jié)果nodiseal同學(xué)說已經(jīng)可以這么用了,于是做了以下測試2011-11-11屏蔽鼠標(biāo)右鍵、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格鍵
js 防止刷新網(wǎng)頁、禁止后退,右鍵等操作的代碼2010-03-03學(xué)習(xí)JavaScript設(shè)計模式之觀察者模式
這篇文章主要為大家介紹了JavaScript設(shè)計模式中的觀察者模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-01-01webpack 3.X學(xué)習(xí)之多頁面打包的方法
這篇文章主要介紹了webpack 3.X學(xué)習(xí)之多頁面打包的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09