`
nannan408
  • 浏览: 1795391 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

架构师之html5之---------------js如何判断浏览器类型。

 
阅读更多
1.前言。

如题。

2.代码 。

(1)
function IsPC() {
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone",
                "SymbianOS", "Windows Phone",
                "iPad", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}




(2)


function browserRedirect() {
    var sUserAgent = navigator.userAgent.toLowerCase();
    var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
    var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
    var bIsMidp = sUserAgent.match(/midp/i) == "midp";
    var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
    var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
    var bIsAndroid = sUserAgent.match(/android/i) == "android";
    var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
    var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
    if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) ){
        window.location.href=B页面;
    }
}
browserRedirect();




(3) 


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|SymbianOS)/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
   }
  }
 }
};
<SCRIPT type=text/javascript>uaredirect("手机站","WEB站");</SCRIPT>




摘自:http://www.jb51.net/article/48939.htm

分享到:
评论

相关推荐

    中科院高级架构师教程-系统架构-架构之美

    架构师应该根据项目的实际情况选择合适的UML图类型,如静态持久类图、调用控制静态图等。 - **简化同步**:保持设计文档和需求文档的一致性是非常重要的。架构师需要确保这些文档及时更新,以反映最新的设计变化。 ...

    PHP架构师 指南 设计

    ### PHP架构师指南设计知识点详解 #### 一、基本知识点 **HTTP协议中几个状态码的含义** - **503**: 服务不可用。通常用于服务器暂时过载或维护时。 - **500**: 内部服务器错误。表示服务器遇到了意外情况,无法...

    架构师面试题参考.pdf

    在面试一位架构师时,通常会涉及多个技术领域和实践经验的考察。以下是一些基于给出的面试题所涵盖的关键知识点的详细讨论: 1. **SSH框架的历史局限性**: - Struts:作为MVC框架,Struts依赖于HTTP请求-响应模型...

    前端架构师经验归纳总结

    在IT行业中,前端架构师是连接设计师与后端开发的关键角色,他们负责构建高效、可扩展且易于维护的前端系统。以下是对"前端架构师经验归纳总结"的详细阐述: 一、前端架构设计原则 1. **模块化**:前端架构的基础...

    架构师201503

    ### 架构师201503期关键知识点总结 #### 1. 小米的生态圈构建策略 - **背景介绍**: - 小米已成为全球最有价值的未上市科技公司之一,并在国内成为继BAT之后的重要科技巨头。 - 小米的生态圈构建始于公司成立之...

    前端团队管理 前端基础架构的实践和思考 共22页.pdf

    * 从 浏览器 到 新媒体:前端团队需要从传统的浏览器开发转变到新媒体开发,具备更强大的技术能力和架构能力。 前端基础架构: 前端基础架构是指支撑前端团队运行所必需的规范、工具和系统的完整体系。其主要特点...

    手机QQ浏览器与Web App开发者共赢

    作为国内主流的手机浏览器之一,QQBrowser在HTML5方面做出了大量投入和支持,具体体现在以下几个方面: - **核心功能支持**:全面支持HTML5的关键特性,如Canvas、CSS3、WebSocket等,为用户提供更加丰富和流畅的...

    wkhtmltox-0.12.2.4_mingw-w64-cross-win64

    2. **Qt WebKit**: Qt WebKit是Qt库的一部分,它提供了一个完整的浏览器引擎,用于解析和渲染HTML、CSS和JavaScript。在wkhtmltox中,WebKit负责解析网页并将其转换为输出格式。 3. ** Mingw-w64**: Mingw-w64是一...

    J2EE架构师手册

    《J2EE架构师手册》是一本专门为Java企业级应用开发者和架构师量身打造的指导书籍,旨在帮助读者深入理解和掌握J2EE技术体系,从而能够设计和构建高效、可扩展的企业级软件系统。该手册涵盖了从基础概念到高级实践的...

    HTML5开发大全CSS+JAVASCRIPT+WEBGL

    ### HTML5开发大全:CSS+JAVASCRIPT+WEBGL #### 一、HTML5 Games:概述与背景 - **HTML5 Games** 这本书主要讲述了如何利用HTML5、CSS3以及WebGL来创建游戏应用。 - **目标读者**:本书适合对网页游戏开发感兴趣的...

    王家林的面向Web Cloud的HTML5 App开发实战:Browser&HTML5;&CSS3;&PhoneGap;&jQuery; Mobile& WebSock

    开发者和架构师需要深入理解HTML5,包括Browser(浏览器)的定制与开发,HTML5新技术的背景,以及如何利用JavaScript与本地API进行交互。 HTML5的六大核心技术包括:Browser定制技术,HTML5的新特性如Canvas、音...

    html--4.框架标签

    在HTML(超文本标记语言)中,框架标签是用于创建多窗口或部分页面布局的工具,这使得网页设计师可以将一个HTML文档分为多个独立显示的区域。这些标签主要用于实现更复杂的网页设计,允许同时加载和展示不同的网页...

    微信HTML5在线朋友圈游戏源码带安装部署教程-海上调情师.zip

    2. **在线游戏**:游戏可以直接在浏览器中运行,无需下载安装,用户只需点击链接即可开始玩,这得益于HTML5的WebGL和Web Storage等技术,使得游戏体验更加流畅便捷。 3. **朋友圈**:意味着游戏是社交化的,可能...

    Java学习零基础到架构师学习路线

    Java学习的旅程从零基础到架构师的提升是一个漫长而充实的过程,涵盖了多个阶段和关键技术。以下是根据给定的学习路线的详细解释: 阶段1:Java核心语法 在这个阶段,学习者将掌握Java语言的基础,包括变量、数据...

    完整版《HTML5高级程序设计》5

    在加盟Kaazing前,Peter在Oracle担任了近十年的资深信息架构师,获得过两项软件专利。  Brian Albers Kaazing研发中心副总裁。他有数十年的Web开发经验,曾在Oracle担任高级开发经理。Brian是一位讲演常客,经常在...

    完整版《HTML5高级程序设计》2

    在加盟Kaazing前,Peter在Oracle担任了近十年的资深信息架构师,获得过两项软件专利。  Brian Albers Kaazing研发中心副总裁。他有数十年的Web开发经验,曾在Oracle担任高级开发经理。Brian是一位讲演常客,经常在...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -重构了示例网站的架构,目前只有一层IFrame结构。 -为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。 -为NumberBox增加DecimalPrecision属性,用来控制小数点后的...

    架构师杂志 以及一些技术的访谈

    《架构师杂志》通过深入探讨HTML5、jQuery 1.6和MySQL等技术,揭示了当前IT行业的热点和发展趋势。HTML5的兴起预示着移动设备和跨平台应用的新机遇,但同时也伴随着兼容性挑战。jQuery 1.6的发布进一步完善了...

    web前端架构师的岗位职责表述.docx

    1. **技术选型与架构设计**:Web前端架构师需要为公司的产品线选择最适合的前端技术栈,包括HTML5、CSS3、JavaScript及其相关框架(如Vue、AngularJS、Ionic、jQuery等)。他们还需要设计和实施前端架构,确保其能够...

    完整版《HTML5高级程序设计》4

    在加盟Kaazing前,Peter在Oracle担任了近十年的资深信息架构师,获得过两项软件专利。  Brian Albers Kaazing研发中心副总裁。他有数十年的Web开发经验,曾在Oracle担任高级开发经理。Brian是一位讲演常客,经常在...

Global site tag (gtag.js) - Google Analytics