本文实现两个功能
- 获取 IE 浏览器版本
- 判断浏览器是否开启 cookie
1.获取 IE 浏览器版本
代码参考于网络
// 判断 IE 浏览器版本
function IEVersion() {
var userAgent = navigator.userAgent; // 取得浏览器的 userAgent 字符串
var isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1; // 判断是否 IE<11 浏览器
var isEdge = userAgent.indexOf('Edge') > -1 && !isIE; // 判断是否 IE 的 Edge 浏览器
var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1;
if (isIE) {
var reIE = new RegExp('MSIE (\\d+\\.\\d+);');
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
if (fIEVersion == 7) {
return 7;
} else if (fIEVersion == 8) {
return 8;
} else if (fIEVersion == 9) {
return 9;
} else if (fIEVersion == 10) {
return 10;
} else {
return 6; // IE 版本 <= 7
}
} else if (isEdge) {
return 'edge'; // edge
} else if (isIE11) {
return 11; // IE11
} else {
return -1; // 不是 IE 浏览器
}
}
var ieV = IEVersion()
// 只兼容 IE11
if (ieV != -1 && ieV != 'edge' && ieV != 11) {
// 相应操作
}
2.判断浏览器是否开启 cookie
如果用户将 cookie 功能关闭,开发者将无法使用 cookie、localStorage、sessionStorage功能。
Navigator.cookieEnabled 可以判断浏览器是否开启 cookie,但其兼容性并不好:https://www.caniuse.com/?search=Navigator
因此,需要做代码兼容
// 判断浏览器是否禁用 cookie
function cookieEnable() {
var result = false;
if (navigator.cookiesEnabled) {
return true;
}
document.cookie = 'testcookie=yes;';
var cookieSet = document.cookie;
if (cookieSet.indexOf('testcookie=yes') > -1) {
result = true;
}
document.cookie = '';
return result;
}
if (!cookieEnable()) {
alert('请先开启浏览器 Cookie,否则网页将无法正常使用!')
}
代码参考: