zoukankan      html  css  js  c++  java
  • 【Javascript】javascript学习 三十 JavaScript 浏览器检测

    实例

    检测浏览器及版本
    使用 JavaScript 检测关于访问者的浏览器名称及其版本。
    检测浏览器的更多信息
    使用 JavaScript 检测关于访问者浏览器的更多信息。
    检测浏览器的全部信息
    使用 JavaScript 检测关于访问者浏览器的全部信息。
    根据浏览器类型提醒用户
    使用 JavaScript 检测关于访问者的浏览器名称及其版本,然后根据这些信息生成不同内容的警告框。

    浏览器检测

    本教程中几乎所有的代码均可在任何支持 JavaScript 的浏览器中运行。不过个别的代码无法运行于特定的浏览器,特别是老式的浏览器。

    所以,有些时候对访问者的浏览器类型及版本进行检测是很有帮助的,然后可在此基础上为访问者提供合适的信息。

    要做到这一点,最好的办法是使你的网页变得足够聪明,这样的话它就可以不同的方式对待不同类型的浏览器。

    JavaScript 包含一个名为 Navigator 的对象,它就可以完成上述的任务。

    Navigator 包含了有关访问者浏览器的信息,包括浏览器类型、版本等等。

    Navigator 对象

    JavaScript Navigator 对象包含了有关访问者浏览器的所有信息。接下来我们学习 Navigator 对象的两个属性。

    appName
    保存浏览器类型
    appVersion
    存有浏览器的版本信息(其他信息中的一项)

    实例

    <html>
    
    <body>
    <script type="text/javascript">
    var browser=navigator.appName
    var b_version=navigator.appVersion
    var version=parseFloat(b_version)
    
    document.write("Browser name: "+ browser)
    document.write("<br />")
    document.write("Browser version: "+ version)
    </script>
    </body>
    
    </html>

    上面例子中的 browser 变量存有浏览器的名称,比如,"Netscape" 或者 "Microsoft Internet Explorer"。

    上面例子中的 appVersion 属性返回的字符串所包含的信息不止是版本号而已,但是现在我们只关注版本号。我们使用一个名为 parseFloat() 的函数会抽取字符串中类似十进制数的一段字符并将之返回,这样我们就可以从字符串中抽出版本号信息了。

    重要事项:在 IE 5.0 及以后版本中,版本号是不正确的!在 IE 5.0 和 IE 6.0 中,微软为 appVersion 字符串赋的值是 4.0。怎么会出现这样的错误呢?无论如何,我们需要清楚的是,JavaScript 在 IE6、IE5 和 IE4 中的获得的版本号是相同的。

    实例

    下面的脚本会根据访问者的浏览器类型显示不同的警告。

    <html>
    
    <head>
    
    <script type="text/javascript">
    function detectBrowser()
    {
    var browser=navigator.appName
    var b_version=navigator.appVersion
    var version=parseFloat(b_version)
    
    if ((browser=="Netscape"||browser=="Microsoft Internet Explorer")
    && (version>=4))
      {alert("Your browser is good enough!")}
    else
      {alert("It's time to upgrade your browser!")}
      }
    </script>
    
    </head>
    
    <body onload="detectBrowser()">
    </body>
    
    </html>
  • 相关阅读:
    c# TCP高性能通信
    c#实现的HTTP服务端
    c#的二进制序列化组件MessagePack介绍
    c# 任务超时执行
    c#项目总结
    etcd客户端c#
    开发的服务集群部署方案,以etcd为基础(java)
    udt的java版本judt项目持续升级1.2版本
    udt通信java再次升级1.1版
    (转)Spring Boot(二) & lombok
  • 原文地址:https://www.cnblogs.com/cuishao1985/p/1533247.html
Copyright © 2011-2022 走看看