- 函数概述
这是一个可以检测多种浏览器的 JavaScript 函数,它可以帮助你判断当前的浏览器类型和版本号,并且还可以检测浏览器是否支持某些功能。这个函数定义比较长,但是使用起来非常方便。下面是这个函数的代码:
function detectBrowser() {
var ua = navigator.userAgent;
var browserName;
var fullVersion;
var majorVersion;
if ((navigator.appName == 'Netscape') && (ua.indexOf('Trident/') != -1)) {
// IE 11+
browserName = 'IE';
fullVersion = navigator.userAgent.split(';')[1].trim().split(' ')[1];
majorVersion = parseInt(navigator.userAgent.replace(/.*rv:([\d]+)\.([\d]+).*/,'$1'));
} else if ((ua.indexOf('Opera') || ua.indexOf('OPR')) != -1 ) {
// Opera
browserName = 'Opera';
if (ua.indexOf('OPR') != -1) {
fullVersion = ua.substring(ua.indexOf('OPR/')+4);
} else {
fullVersion = ua.substring(ua.indexOf('Version/')+8);
}
majorVersion = parseInt(fullVersion.split('.')[0]);
} else if (ua.indexOf('Chrome') != -1 ) {
// Chrome
browserName = 'Chrome';
fullVersion = ua.substring(ua.indexOf('Chrome/')+7);
majorVersion = parseInt(fullVersion.split('.')[0]);
} else if (ua.indexOf('Safari') != -1) {
// Safari
browserName = 'Safari';
fullVersion = ua.substring(ua.indexOf('Version/')+8);
majorVersion = parseInt(fullVersion.split('.')[0]);
} else if ((ua.indexOf('MSIE') != -1 ) || (!!document.documentMode == true )) {
// IE 10 or older
browserName = 'IE';
fullVersion = ua.substring(ua.indexOf('MSIE ')+5);
majorVersion = parseInt(fullVersion.split('.')[0]);
} else if (ua.indexOf('Firefox') != -1) {
// Firefox
browserName = 'Firefox';
fullVersion = ua.substring(ua.indexOf('Firefox/')+8);
majorVersion = parseInt(fullVersion.split('.')[0]);
} else {
// other browser
browserName = 'Other';
fullVersion = '0';
majorVersion = 0;
}
return {
name: browserName,
fullVersion: fullVersion,
version: majorVersion
};
}
- 使用方法
使用这个函数非常简单,只需要调用它一次就可以获取当前浏览器的类型和版本号。例如:
var browserInfo = detectBrowser();
console.log('Browser name:', browserInfo.name);
console.log('Browser version:', browserInfo.version);
上面的代码会输出当前浏览器的类型和版本号。如果想要检测当前浏览器是否支持某些功能,可以使用下面的代码:
// 检测浏览器是否支持本地存储
function isLocalStorageSupported() {
try {
return 'localStorage' in window && window['localStorage'] !== null;
} catch (e) {
return false;
}
}
// 检测浏览器是否支持HTML5
function isHtml5Supported() {
return typeof(Storage)!=="undefined" && typeof(Worker)!=="undefined" && typeof(EventSource)!=="undefined";
}
if (isLocalStorageSupported()) {
console.log('Local storage is supported.');
} else {
console.log('Local storage is not supported.');
}
if (isHtml5Supported()) {
console.log('HTML5 is supported.');
} else {
console.log('HTML5 is not supported.');
}
上面的代码会检测当前浏览器是否支持本地存储和 HTML5 功能,如果支持则输出相应的信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一个不错的可以检测多中浏览器的函数和其它功能第2/2页 - Python技术站