js判断浏览器的比较全的代码

yizhihongxing

判断浏览器的代码可以在不同的场景下使用,例如可以根据不同浏览器进行兼容性处理,或者在不同浏览器下加载不同的样式和功能等。以下是一个比较全面的判断浏览器的代码:

var userAgent = navigator.userAgent; //获取浏览器的userAgent字符串

var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否Edge浏览器,需要排除IE浏览器
var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器,需要排除Chrome浏览器
var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1; //判断Chrome浏览器

if (isIE) {
    var IE = userAgent.match(/MSIE (\d+)/)[1]; //获取IE版本号
    document.write("IE " + IE + "浏览器");
} else if (isEdge) {
    document.write("Edge浏览器");
} else if (isFF) {
    document.write("Firefox浏览器");
} else if (isOpera) {
    document.write("Opera浏览器");
} else if (isChrome) {
    document.write("Chrome浏览器");
} else if (isSafari) {
    document.write("Safari浏览器");
} else {
    document.write("未知浏览器");
}

该代码通过获取浏览器的userAgent字符串,判断其中是否包含特定的浏览器标识字符串,从而判断浏览器类型。

接下来我们来看两个示例:

  1. 示例一:根据浏览器不同,加载不同的样式文件
var userAgent = navigator.userAgent;
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera;
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE;
var isFF = userAgent.indexOf("Firefox") > -1;
var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1;
var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1;

var link = document.createElement('link');
if (isIE) {
    link.href = 'ie.css';
} else if (isEdge) {
    link.href = 'edge.css';
} else if (isFF) {
    link.href = 'firefox.css';
} else if (isOpera) {
    link.href = 'opera.css';
} else if (isChrome) {
    link.href = 'chrome.css';
} else if (isSafari) {
    link.href = 'safari.css';
}

link.rel = 'stylesheet';
document.getElementsByTagName('head')[0].appendChild(link);

该示例可以根据浏览器不同,动态加载不同的样式文件。

  1. 示例二:根据浏览器不同,进行兼容性处理
var userAgent = navigator.userAgent;
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera;
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE;

if (isIE) {
    // IE浏览器兼容性处理
} else if (isEdge) {
    // Edge浏览器兼容性处理
} else {
    // 其他浏览器处理
}

该示例可以根据浏览器不同,进行不同浏览器的兼容性处理。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js判断浏览器的比较全的代码 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • PHP如何读取由JavaScript设置的Cookie

    当 JavaScript 在客户端设置了 Cookie 后,PHP 服务端需通过 $_COOKIE 超全局变量来访问它。 要读取使用 JavaScript 设置的 Cookie,可以遵循以下步骤: 在 JavaScript 端通过 document.cookie 设置 Cookie。 在 PHP 端使用 $_COOKIE 超全局变量读取 Cookie 值。 …

    JavaScript 2023年6月11日
    00
  • javascript实现时间格式输出FormatDate函数

    当我们需要在网页中显示时间的时候,通常需要用到格式化时间的函数,而JavaScript是一门非常有用的语言。下面让我来为您讲解如何使用JavaScript实现时间格式输出,步骤如下: 步骤1:创建一个FormatDate函数 首先我们需要创建一个函数来实现对时间进行格式化输出。可以为这个函数传入两个参数- 时间对象和一个时间格式字符串。 function F…

    JavaScript 2023年5月27日
    00
  • Javascript的数组与字典用法与遍历对象的属性技巧

    Javascript的数组与字典用法 数组 数组是Javascript中常用的数据结构之一,它是一种有序的、可重复的数据集合,可以通过索引来访问其中的元素。 定义和初始化数组 Javascript中定义数组有两种方式,一种是使用Array构造函数,另一种是使用数组字面量。 使用Array构造函数可以这样定义一个空数组: var arr = new Array…

    JavaScript 2023年5月27日
    00
  • JavaScript简单生成 N~M 之间随机数的方法

    Javascript 中生成随机数主要依赖于Math对象的两个方法:Math.random()和Math.floor()。 一、使用方法 Math.random()方法可以生成0到1的随机数,包含0但不包含1。 Math.floor()方法将小数向下取整,例如Math.floor(3.9)为3。 利用这两个方法,我们可以生成一个指定范围内的随机数: Math…

    JavaScript 2023年5月28日
    00
  • 详解javascript事件冒泡

    详解JavaScript事件冒泡攻略 在JavaScript中,事件冒泡是指当一个元素触发了某个事件时,该事件将传递到该元素的祖先元素,一直到HTML文档的根节点。这意味着如果您不阻止事件冒泡,那么在触发最底层元素的事件时,将触发所有父元素的事件。在本教程中,我们将详细讨论Javascript事件冒泡和如何在代码中实现它。 什么是事件冒泡 事件冒泡是一种机制…

    JavaScript 2023年6月10日
    00
  • js跳转页面方法总结

    JS跳转页面方法总结 在Web开发中,JS跳转页面是非常常见的操作。下面我们来总结几种JS跳转页面的方法。 方法一:使用JavaScript中的location对象 可以通过JavaScript提供的location对象来实现跳转页面的功能。使用方法如下: // 跳转到指定URL location.href = "http://www.exampl…

    JavaScript 2023年6月11日
    00
  • js实现数组和对象的深浅拷贝

    JS 实现数组和对象的深浅拷贝可以使用不同的方法,下面是几种实现方式及其对应的代码示例。 浅拷贝 浅拷贝只是针对对象和数组的一层拷贝,除了基本类型以外,只是复制了一份引用地址。原始数据和拷贝数据共享同一片内存,也就是说,对其中一个进行修改,就会影响到另外一个。实现浅拷贝的方法主要有 Object.assign() 和 Array.prototype.conc…

    JavaScript 2023年5月27日
    00
  • 如何实现修改密码时密码框显示保存到cookie的密码

    实现修改密码时密码框显示保存到cookie的密码,可以按照以下步骤进行: 绑定修改密码的button或form的submit事件,通过JavaScript获取用户输入的新密码,然后将密码存储到cookie中。 示例代码: // 获取用户输入的新密码 const newPassword = document.getElementById(‘newPasswor…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部