zoukankan      html  css  js  c++  java
  • 通过$.browser来判断浏览器

    jQuery来判断浏览器的类型,主要是使用$.browser这个工具类,使用方法:

    $.browser.['浏览器关键字']

    01 $(function() {
    02 if($.browser.msie) {
    03 alert("this is msie");
    04 }
    05 else if($.browser.safari)
    06 {
    07 alert("this is safari!");
    08 }
    09 else if($.browser.mozilla)
    10 {
    11 alert("this is mozilla!");
    12 }
    13 else if($.browser.opera) {
    14 alert("this is opera");
    15 }
    16 else {
    17 alert("i don't konw!");
    18 }

    我们看下jQuery的源码:

    1 var userAgent = navigator.userAgent.toLowerCase();
    2 // Figure out what browser is being used
    3 jQuery.browser = {
    4 version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
    5 safari: /webkit/.test( userAgent ),
    6 opera: /opera/.test( userAgent ),
    7 msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
    8 mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
    9 };

    jQuery 使用的是通过正则来匹配userAgent判断浏览器的种类和版本.

    如果我们要来判断当前浏览器是否是IE6应该如何来判断?

    1 $.browser.msie&&($.browser.version == "6.0")&&!$.support.style

    同样jQuery判断浏览器是否为IE7

    1 $.browser.msie&&($.browser.version == "7.0")

    如果不考虑向后兼容性,又不想为了判断各浏览器类型而导入jQuery

    判断IE最简单的方法是

    1 if(document.all){
    2 alert("IE6")
    3 }

    $.browser是通过正则表达式来匹配userAgent来判断浏览器版本和种类的.jquery1.3.2版本的文档中已经声明jquery.browser及jquery.browser.version建议弃用,可以使用jquery.support来代替

    但是目前的情况来看,jquery.support并不好用,而且是非常的难用,我们还是老老实实的用$.browser来判断浏览器类型吧

    如果是为了判断IE的版本我还是推荐用IE的条件表达式来书写JS

    01 <!--[if IE]>
    02 <script type="text/javascript">
    03 alert("ie")
    04 </script>
    05 <![endif]-->
    06 <!--[if IE 6]>
    07 <script type="text/javascript">
    08 alert("ie6")
    09 </script>
    10 <![endif]-->
    11 <!--[if IE 7]>
    12 <script type="text/javascript">
    13 alert("ie7")
    14 </script>
    15 <![endif]-->
    16 这个比我们手动通过$.browser来判断IE版本更精准,也不用去记jquery的browser的使用方法了
  • 相关阅读:
    什么是ORM
    ORM优缺点
    Azure 中快速搭建 FTPS 服务
    连接到 Azure 上的 SQL Server 虚拟机(经典部署)
    在 Azure 虚拟机中配置 Always On 可用性组(经典)
    SQL Server 2014 虚拟机的自动备份 (Resource Manager)
    Azure 虚拟机上的 SQL Server 常见问题
    排查在 Azure 中新建 Windows 虚拟机时遇到的经典部署问题
    上传通用化 VHD 并使用它在 Azure 中创建新 VM
    排查在 Azure 中新建 Windows VM 时遇到的部署问题
  • 原文地址:https://www.cnblogs.com/lv_yantao/p/2248809.html
Copyright © 2011-2022 走看看