二级域名转向类


Posted in Javascript onNovember 09, 2006

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

如您使用或转载,请保留版权与个人信息。谢谢!

Javascript 相关文章推荐
JavaScript将数据转换成整数的方法
Jan 04 Javascript
禁止页面刷新让F5快捷键及右键都无效
Jan 22 Javascript
js写的方法实现上传图片之后查看大图
Mar 05 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 Javascript
标题过长使用javascript按字节截取字符串
Apr 24 Javascript
PhotoSwipe异步动态加载图片方法
Aug 25 Javascript
js实现文字截断功能
Sep 14 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
Jan 23 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
Dec 03 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
Dec 17 Javascript
JavaScript执行机制详细介绍
Dec 06 Javascript
JavaScript的面向对象(一)
Nov 09 #Javascript
JavaScript的面向对象(二)
Nov 09 #Javascript
利用javascript查看html源文件
Nov 08 #Javascript
用javascript获得地址栏参数的两种方法
Nov 08 #Javascript
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
Nov 07 #Javascript
Ucren Virtual Desktop V2.0
Nov 07 #Javascript
非常不错的一个javascript 类
Nov 07 #Javascript
You might like
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
Javascript倒计时代码
2010/08/12 Javascript
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
getElementById().innerHTML与getElementById().value的区别
2016/10/27 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
div实现自适应高度的textarea实现angular双向绑定
2017/01/08 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
JavaScript基本语法_动力节点Java学院整理
2017/06/26 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
python用户管理系统的实例讲解
2017/12/23 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
python实现多线程端口扫描
2019/08/31 Python
python热力图实现简单方法
2021/01/29 Python
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
猫咪家具:CatsPlay
2018/11/03 全球购物
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
村长贪污检举信
2014/04/04 职场文书
个人综合鉴定材料
2014/05/23 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
就业协议书范本
2014/10/08 职场文书
介绍信的格式
2015/01/30 职场文书
民事答辩状格式范文
2015/05/21 职场文书
通知怎么写?
2019/04/17 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python