百度判断手机终端并自动跳转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 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
Mar 12 Javascript
利用webqq协议使用python登录qq发消息源码参考
Apr 08 Javascript
JavaScript中的正则表达式简明总结
Apr 04 Javascript
初识SmartJS - AOP三剑客
Jun 08 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
Nov 26 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
Mar 11 Javascript
全面了解JS中的匿名函数
Jun 29 Javascript
浅谈JavaScript正则表达式-非捕获性分组
Mar 08 Javascript
JS正则获取HTML元素的方法
Mar 31 Javascript
使用Node.js实现一个多人游戏服务器引擎
Mar 13 Javascript
模块化react-router配置方法详解
Jun 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
PHP入门速成(2)
2006/10/09 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
jQuery操作cookie
2016/08/08 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
python实时监控cpu小工具
2018/06/21 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
Python生成器常见问题及解决方案
2020/03/21 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
英智兴达软件测试笔试题
2016/10/12 面试题
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
vue特效之翻牌动画
2022/04/20 Vue.js