百度判断手机终端并自动跳转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 相关文章推荐
JS的IE和Firefox兼容性集锦
Dec 11 Javascript
JAVASCRIPT style 中visibility和display之间的区别
Jan 22 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
Sep 28 Javascript
JavaScript继承方式实例
Oct 29 Javascript
jQuery设置和获取HTML、文本和值示例
Jul 08 Javascript
js兼容火狐显示上传图片预览效果的方法
May 21 Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 Javascript
Angular.js回顾ng-app和ng-model使用技巧
Apr 26 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
ReactNative Image组件使用详解
Aug 07 Javascript
vue store之状态管理模式的详细介绍
Jun 13 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 curl的深入解析
2013/06/02 PHP
php无序树实现方法
2015/07/28 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
基于php实现的验证码小程序
2016/12/13 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
Prototype使用指南之enumerable.js
2007/01/10 Javascript
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
2016/05/09 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
Vue项目路由刷新的实现代码
2019/04/17 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
Python标准库与第三方库详解
2014/07/22 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
python学习教程之使用py2exe打包
2017/09/24 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
用python实现对比两张图片的不同
2018/02/05 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
2021/01/12 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
C#笔试题和英文面试题
2013/02/07 面试题
给老婆大人的检讨书
2014/02/24 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
争先创优演讲稿
2014/09/15 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
党的群众路线对照检查材料思想汇报(学校)
2014/10/04 职场文书
浅谈Python 中的复数问题
2021/05/19 Python