百度判断手机终端并自动跳转js代码及使用实例


Posted in Javascript onJune 11, 2014

百度目前为站长提供了判断手机终端类型并自动实现跳转的js脚本,极大的方便了广大站长及web开发人员。其js脚本的使用方法极其简单。

<script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script>

<SCRIPT type=text/javascript>uaredirect("手机站","WEB站");</SCRIPT>

其中最为核心的js脚本格式化代码如下所示:
function uaredirect(f) {

    try {

        if (document.getElementById("bdmark") != null) {

            return

        }

        var b = false;

        if (arguments[1]) {

            var e = window.location.host;

            var a = window.location.href;

            if (isSubdomain(arguments[1], e) == 1) {

                f = f + "/#m/" + a;

                b = true

            } else {

                if (isSubdomain(arguments[1], e) == 2) {

                    f = f + "/#m/" + a;

                    b = true

                } else {

                    f = a;

                    b = false

                }

            }

        } else {

            b = true

        }

        if (b) {

            var c = window.location.hash;

            if (!c.match("fromapp")) {

                if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i))) {

                    location.replace(f)

                }

            }

        }

    } catch(d) {}

}

function isSubdomain(c, d) {

    this.getdomain = function(f) {

        var e = f.indexOf("://");

        if (e > 0) {

            var h = f.substr(e + 3)

        } else {

            var h = f

        }

        var g = /^www\./;

        if (g.test(h)) {

            h = h.substr(4)

        }

        return h

    };

    if (c == d) {

        return 1

    } else {

        var c = this.getdomain(c);

        var b = this.getdomain(d);

        if (c == b) {

            return 1

        } else {

            c = c.replace(".", "\\.");

            var a = new RegExp("\\." + c + "$");

            if (b.match(a)) {

                return 2

            } else {

                return 0

            }

        }

    }

};

建议站长及web开发人员使用如下压缩后的js脚本
function uaredirect(f){try{if(document.getElementById("bdmark")!=null){return}var b=false;if(arguments[1]){var e=window.location.host;var a=window.location.href;if(isSubdomain(arguments[1],e)==1){f=f+"/#m/"+a;b=true}else{if(isSubdomain(arguments[1],e)==2){f=f+"/#m/"+a;b=true}else{f=a;b=false}}}else{b=true}if(b){var c=window.location.hash;if(!c.match("fromapp")){if((navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i))){location.replace(f)}}}}catch(d){}}function isSubdomain(c,d){this.getdomain=function(f){var e=f.indexOf("://");if(e>0){var h=f.substr(e+3)}else{var h=f}var g=/^www\./;if(g.test(h)){h=h.substr(4)}return h};if(c==d){return 1}else{var c=this.getdomain(c);var b=this.getdomain(d);if(c==b){return 1}else{c=c.replace(".","\\.");var a=new RegExp("\\."+c+"$");if(b.match(a)){return 2}else{return 0}}}};

PS:在此小编为大家推荐几款javascript格式化美化与压缩工具,类似上述的百度跳转代码压缩与格式化就可使用下述工具实现:

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.3water.com/code/ccode_html_css_json

在线JavaScript代码美化、格式化工具:
http://tools.3water.com/code/js

JavaScript代码美化/压缩/格式化/加密工具:
http://tools.3water.com/code/jscompress

JavaScript在线压缩工具:
http://tools.3water.com/code/js_yasuo

JavaScript在线格式化工具(基于beautify.js插件):
http://tools.3water.com/code/js_beautify

Javascript 相关文章推荐
prototype 源码中文说明之 prototype.js
Sep 22 Javascript
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
Feb 17 Javascript
Jquery 表单取值赋值的一些基本操作
Oct 11 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
Dec 09 Javascript
jQuery AJAX 调用WebService实现代码
Mar 24 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
Jan 23 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 Javascript
自制微信公众号一键排版工具
Sep 22 Javascript
基于vue 动态加载图片src的解决方法
Feb 05 Javascript
利用Node.js批量抓取高清妹子图片实例教程
Aug 02 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 Javascript
js获取日期:昨天今天和明天、后天
Jun 11 #Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 #Javascript
删除javascript中注释语句的正则表达式
Jun 11 #Javascript
Jquery自定义button按钮的几种方法
Jun 11 #Javascript
教你用jquery实现iframe自适应高度
Jun 11 #Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
Jun 11 #Javascript
控制文字内容的显示与隐藏示例
Jun 11 #Javascript
You might like
一篇入门的php Class 文章
2007/04/04 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
JQuery 操作select标签实现代码
2010/05/14 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
node.js操作mongodb学习小结
2015/04/25 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
眼镜促销方案
2014/03/15 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
2014年店长工作总结
2014/11/17 职场文书
涨价通知
2015/04/23 职场文书
未婚证明格式
2015/06/15 职场文书
立案决定书范文
2015/06/24 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书