百度判断手机终端并自动跳转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常用经典算法实例详解
Nov 25 Javascript
jQuery操作属性和样式详解
Apr 13 Javascript
JavaScript实战之菜单特效
Aug 16 Javascript
JS根据生日月份和日期计算星座的简单实现方法
Nov 24 Javascript
详解JavaScript的内置对象
Dec 07 Javascript
js仿iphone秒表功能 计算平均数
Jan 11 Javascript
Node.js简单入门前传
Aug 21 Javascript
在HTML文档中嵌入JavaScript的四种方法
May 07 Javascript
详解vue组件开发脚手架
Jun 15 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
Nov 21 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
Dec 12 Javascript
Vue+Element自定义纵向表格表头教程
Oct 26 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
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
PHP实现抓取HTTPS内容
2014/12/01 PHP
event.srcElement+表格应用
2006/08/29 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
记一次react前端项目打包优化的方法
2020/03/30 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
Python三级菜单的实例
2017/09/13 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
单链表反转python实现代码示例
2018/02/08 Python
Python中最大递归深度值的探讨
2019/03/05 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
Python csv文件记录流程代码解析
2020/07/16 Python
python 5个顶级异步框架推荐
2020/09/09 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
优秀演讲稿范文
2013/12/29 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
python中的None与NULL用法说明
2021/05/25 Python
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技