百度判断手机终端并自动跳转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 相关文章推荐
B/S开发中常用javaScript技术与代码
Mar 09 Javascript
各种效果的jquery ui(接口)介绍
Sep 17 Javascript
jQuery 渐变下拉菜单
Dec 15 Javascript
Extjs4 GridPanel 的几种样式使用介绍
Apr 18 Javascript
JS获取鼠标选中的文字
Aug 10 Javascript
jquery表单插件form使用方法详解
Jan 20 Javascript
es7学习教程之Decorators(修饰器)详解
Jul 21 Javascript
swiper 解决动态加载数据滑动失效的问题
Feb 26 Javascript
vue-cli脚手架引入图片的几种方法总结
Mar 13 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
Aug 29 Javascript
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
JS实现打砖块游戏
Feb 14 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 实现缩略图
2021/03/09 PHP
Array对象方法参考
2006/10/03 Javascript
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
Vue入门之animate过渡动画效果
2018/04/08 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
python写入已存在的excel数据实例
2018/05/03 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
python绘制直方图和密度图的实例
2019/07/08 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
python爬虫用mongodb的理由
2020/07/28 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
莫斯科购买书籍网站:Book24
2020/01/12 全球购物
机械专业应届毕业生自荐书
2014/06/12 职场文书
2014年纠风工作总结
2014/12/08 职场文书
龙门石窟导游词
2015/02/02 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis