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

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

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

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判断浏览器的比较全的代码

基础教程推荐