百度判断手机终端并自动跳转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的回调函数应用示例
Feb 20 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
Dec 15 Javascript
chrome调试javascript详解
Oct 21 Javascript
AngularJS $injector 依赖注入详解
Sep 14 Javascript
深入理解vue路由的使用
Mar 24 Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 Javascript
微信小程序实现图片压缩功能
Jan 26 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
Feb 06 Javascript
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
js实现时钟定时器
Mar 26 Javascript
ant design pro中可控的筛选和排序实例
Nov 17 Javascript
Vue项目利用axios请求接口下载excel
Nov 17 Vue.js
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的类树(支持无限分类)
2006/10/09 PHP
迅速确定php多维数组的深度的方法
2014/01/07 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
javascript显示选择目录对话框的代码
2008/11/10 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
url地址自动加#号问题说明
2010/08/21 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
用Python实现随机森林算法的示例
2017/08/24 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
Python requests模块cookie实例解析
2020/04/14 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
PHP笔试题
2012/02/22 面试题
员工考核管理制度
2014/02/02 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
校园安全广播稿范文
2014/09/25 职场文书