判断浏览器的代码可以在不同的场景下使用,例如可以根据不同浏览器进行兼容性处理,或者在不同浏览器下加载不同的样式和功能等。以下是一个比较全面的判断浏览器的代码:
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字符串,判断其中是否包含特定的浏览器标识字符串,从而判断浏览器类型。
接下来我们来看两个示例:
- 示例一:根据浏览器不同,加载不同的样式文件
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);
该示例可以根据浏览器不同,动态加载不同的样式文件。
- 示例二:根据浏览器不同,进行兼容性处理
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技术站