使用 jQuery 检测特定的浏览器版本
Detecting specific browser versions using jQuery
我有这段代码可以成功检测Mozilla Firefox:
function isFFold() {
return (
(navigator.userAgent.toLowerCase().indexOf("firefox") >= 0)
);
}
如何更改代码以获得特定版本?我已经到处找过,但我找到的唯一方法是使用已弃用的浏览器功能。
我总是使用此代码来检查用户代理及其版本:
navigator.sayWho= (function(){
var ua= navigator.userAgent, tem,
M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?='/))'/?'s*('d+)/i) || [];
if(/trident/i.test(M[1])){
tem= /'brv[ :]+('d+)/g.exec(ua) || [];
navigator.isIE = true;
return 'IE '+(tem[1] || '');
}
navigator.isIE = false;
if(M[1]=== 'Chrome'){
tem= ua.match(/'bOPR'/('d+)/)
if(tem!= null) return 'Opera '+tem[1];
}
M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
if((tem= ua.match(/version'/('d+)/i))!= null) M.splice(1, 1, tem[1]);
return M.join(' ');
})();
它会告诉您任何用户代理的名称和版本。不幸的是,我不再知道这段代码的原始来源了。
请注意,此代码也可以在没有 jQuery 的情况下工作。
但是,应尽量避免此类代码,并改用功能检测。
由于您只想知道 Mozilla Firefox 的版本,因此您也可以使用此函数:
function getFFversion(){
var ua= navigator.userAgent, tem;
var match = ua.match(/firefox'/?'s*('d+)/i);
if(!match){ //not firefox
return null;
}
if((tem= ua.match(/version'/('d+)/i)) != null) {
return parseInt(tem[1]);
}
return parseInt(match[1]);
}
它将以整数形式返回版本。如果浏览器不是 Mozilla Firefox,它将返回null
。
您的测试函数可以如下所示:
void isFFold(minVer){
var version = getFFversion();
return ( version!==null && version < minVer );
}
(对于非火狐浏览器,它将返回 false(
相关文章:
- 为什么我的谷歌浏览器扩展程序在谷歌浏览器版本 41.0.2272.89 中不起作用
- 如何使用javascript确定登录用户的浏览器版本和IP地址
- 当前浏览器版本检测
- 较新的浏览器版本是否有办法确定是否已对.js文件进行了更改
- 使用 javascript 检测浏览器/版本与在服务器端检测
- 使用 jQuery 检测特定的浏览器版本
- 最低 IE9 浏览器要求和其他等效浏览器版本
- 谷歌浏览器版本 48 JavaScript 问题
- Javascript 如何检测 Opera 浏览器版本
- 如何在 Javascript 中获取 url 的哈希部分(新的浏览器版本)
- 根据浏览器版本删除所有样式
- 不同机器上相同浏览器版本的JavaScript行为不一致
- 如何获取/设置当前页面URL(适用于时空浏览器版本)
- Javascript-检测浏览器版本
- Cesium Sandcastle文件未在浏览器版本1.15中加载
- 自定义HTML属性的浏览器版本下限
- senamion无法正常工作,浏览器版本出现错误
- 使用JavaScript检测浏览器、浏览器版本和当前操作系统
- 不使用JavaScript的浏览器版本检测
- 检查我的网站在不同的浏览器版本的移动友好