百度判断手机终端并自动跳转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 相关文章推荐
AutoSave/自动存储功能实现
Mar 24 Javascript
改版了网上的一个js操作userdata
Apr 27 Javascript
由document.body和document.documentElement想到的
Apr 13 Javascript
IE无法设置短域名下Cookie
Sep 23 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
Sep 22 Javascript
ES6下React组件的写法示例代码
May 04 Javascript
浅谈Vue 初始化性能优化
Aug 31 Javascript
使用use注册Vue全局组件和全局指令的方法
Mar 08 Javascript
Vue中图片Src使用变量的方法
Oct 30 Javascript
vue实现图片按比例缩放问题操作
Aug 11 Javascript
Vue按时间段查询数据组件使用详解
Aug 21 Javascript
jQuery实现电梯导航模块
Dec 22 jQuery
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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
服务器web工具 php环境下
2010/12/29 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python实现封装得到virustotal扫描结果
2014/10/05 Python
python中管道用法入门实例
2015/06/04 Python
Python实现完整的事务操作示例
2017/06/20 Python
python实现媒体播放器功能
2018/02/11 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
美国高级音响品牌:Master&Dynamic
2018/07/05 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
特色蛋糕店创业计划书
2014/01/28 职场文书
单身联谊活动方案
2014/01/29 职场文书
监察建议书范文
2014/03/12 职场文书