zoukankan      html  css  js  c++  java
  • 判断浏览器内核

    //userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。
    //appVersion 属性可返回浏览器的平台和版本信息。该属性是一个只读的字符串。
    define(function(require, exports, module) { exports.browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核 mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部 weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增) qq: u.match(/sQQ/i) == " qq" //是否QQ }; }(), language:(navigator.browserLanguage || navigator.language).toLowerCase() } })
    使用
    isiOS = require("module/bankCommon/browser").browser.versions.ios
     

    问题描述
    各浏览器对 navigator 对象中几个与语言相关的属性(language、userLanguage、browserLanguage、 systemLanguage)的返回值存在很大的差异。

    造成的影响
    由于不同浏览器对这几个属性的返回值有很大差异,同时返回的有效值的大小写也有差异。若在获取当前浏览器语言的时候没有考虑到这些差异则可能造成兼容性问题。

    受影响的浏览器
    所有浏览器

    解决方案
    可以使用下面的代码获取当前浏览器语言:
    (navigator.language || navigator.browserLanguage).toLowerCase()

    参考链接:

    https://blog.csdn.net/lvjin110/article/details/37663067

  • 相关阅读:
    redis持久化之AOF和RDB
    pycharm快捷键
    500系列错误
    400系列错误
    Linux常用命令大全
    从浏览器输入一个地址,发送请求,经历了哪些过程(面试问题)
    401的错误分析
    301和302的区别
    数据库 语法收集 (主 mysql,次oracle,日常积累)
    python 发送邮件 smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') 以及授权码设置步骤
  • 原文地址:https://www.cnblogs.com/tangbuluo/p/8649531.html
Copyright © 2011-2022 走看看