百度判断手机终端并自动跳转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 遮罩层实现(mask)实现代码
Jan 09 Javascript
Javascript中的相等与不等运算
Apr 25 Javascript
jQuery实现的向下图文信息滚动效果
May 03 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
Jan 08 Javascript
JS实现简单的二维矩阵乘积运算
Jan 26 Javascript
js+html5实现canvas绘制网页时钟的方法
May 21 Javascript
浅谈javascript中的constructor
Jun 08 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
jQuery列表检索功能实现代码
Jul 17 jQuery
对vue中v-if的常见使用方法详解
Sep 28 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
Sep 21 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 HtmlReplace输入过滤安全函数
2010/07/03 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
twig里使用js变量的方法
2016/02/05 PHP
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
python图像处理之反色实现方法
2015/05/30 Python
Python解析json文件相关知识学习
2016/03/01 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
python re模块的高级用法详解
2018/06/06 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
Python装饰器结合递归原理解析
2020/07/02 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
应届生财务会计求职信
2013/11/05 职场文书
优秀毕业生自荐信范文
2014/01/01 职场文书
工作自我评价怎么写
2014/01/29 职场文书
公司承诺书范文
2014/05/19 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
班级管理经验交流材料
2015/11/02 职场文书
python代码实现扫码关注公众号登录的实战
2021/11/01 Python
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL