百度判断手机终端并自动跳转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 相关文章推荐
用javascript为页面添加天气显示实现思路及代码
Dec 02 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
Mar 04 Javascript
Vue.js快速入门教程
Sep 07 Javascript
Javascript之面向对象--封装
Dec 02 Javascript
Vue过滤器的用法和自定义过滤器使用
Feb 08 Javascript
switchery按钮的使用方法
Dec 18 Javascript
详解angular路由高亮之RouterLinkActive
Apr 28 Javascript
vue 组件的封装之基于axios的ajax请求方法
Aug 11 Javascript
微信小程序下拉框功能的实例代码
Nov 06 Javascript
Vue安装浏览器开发工具的步骤详解
May 12 Javascript
原生JS实现列表内容自动向上滚动效果
May 22 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
Oct 18 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
ie6 动态缩略图不显示的原因
2009/06/21 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
解析php中获取url与物理路径的总结
2013/06/21 PHP
PHP自动重命名文件实现方法
2014/11/04 PHP
URL地址中的#符号使用说明
2011/02/12 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
python判断完全平方数的方法
2018/11/13 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
酒店总经理岗位职责范本
2014/08/08 职场文书
先进员工获奖感言
2014/08/14 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL