我一直在四处寻找能让我检测访问网站的用户是否安装了Firefox3或4的代码.我找到的只是检测浏览器类型的代码,而不是检测版本的代码.

我怎样才能检测到这样的浏览器版本呢?

推荐答案

您可以查看浏览器says显示的内容,并使用该信息记录或测试多个浏览器.

navigator.sayswho= (function(){
    var ua= navigator.userAgent;
    var tem; 
    var M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
    if(/trident/i.test(M[1])){
        tem=  /\brv[ :]+(\d+)/g.exec(ua) || [];
        return 'IE '+(tem[1] || '');
    }
    if(M[1]=== 'Chrome'){
        tem= ua.match(/\b(OPR|Edge)\/(\d+)/);
        if(tem!= null) return tem.slice(1).join(' ').replace('OPR', 'Opera');
    }
    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(' ');
})();

console.log(navigator.sayswho); // outputs: `Chrome 62`

Javascript相关问答推荐

使用脚本标签时的JSDoc智能感知

在JavaScript中使用setProperty方法试图修改css元素值时,我遇到错误

为什么(1 + Number.Min_UTE)等于1?

如何使用React渲染器放置根dis?

有条件的悲剧

Angular:动画不启动

为什么promise对js中的错误有一个奇怪的优先级?

jQuery s data()[storage object]在vanilla JavaScript中?'

更改JSON中使用AJAX返回的图像的路径

如何在模块层面提供服务?

显示图—如何在图例项上添加删除线效果?

Websocket错误—有一个或多个保留位开启:reserved1 = 1,reserved2 = 0,reserved3 = 0

如何在每次单击按钮时重新加载HighChart/设置HighChart动画?

使用Java脚本导入gltf场景并创建边界框

用于在路径之间移动图像的查询

在Reaction中的handleSubmit按钮内,useSelector值仍然为空

将数组扩展到对象中

有没有一种直接的方法可以深度嵌套在一个JavaScript对象中?

通过跳过某些元素的对象进行映射

如何在Jest中模拟函数