百度判断手机终端并自动跳转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 相关文章推荐
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
妙用Jquery的val()方法
Jun 27 Javascript
jquery根据name属性查找的小例子
Nov 21 Javascript
js中top的作用深入剖析
Mar 04 Javascript
node.js中的console.log方法使用说明
Dec 09 Javascript
javascript实现在线客服效果
Jul 15 Javascript
基于JavaScript实现的快速排序算法分析
Apr 14 Javascript
JAVA中截取字符串substring用法详解
Apr 14 Javascript
js获取地址栏参数的两种方法
Jun 27 Javascript
vue 虚拟dom的patch源码分析
Mar 01 Javascript
小程序实现图片预览裁剪插件
Nov 22 Javascript
Vue强制组件重新渲染的方法讨论
Feb 03 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
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php查询ip所在地的方法
2014/12/05 PHP
Javascript 中的类和闭包
2010/01/08 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
vue实现分页栏效果
2019/06/28 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
JS常用排序方法实例代码解析
2020/03/03 Javascript
在centos7中分布式部署pyspider
2017/05/03 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
社会治安综合治理管理责任书
2014/04/16 职场文书
环境卫生倡议书
2014/08/29 职场文书
2014年终个人总结报告
2015/03/09 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS