js判断游览器类型及版本号的代码

前端技术 2023/09/07 JavaScript

phpnew blog内置discuz ubb类型的编辑器, 编辑器功能上有在光标处插入, 可在ie11上一直不准确.
今天分析一下, 终于找到原因. 旧版本的js文件写的浏览器判断有异常, 所以导致插入点一直在头部. 今天修复之.

提供一个js函数. 返回一个数组.

复制代码 代码如下:

function sys_userAgent(){
    var userAgent = navigator.userAgent,    
    rMsie = /(msie\\s|trident.*rv:)([\\w.]+)/,    
    rFirefox = /(firefox)\\/([\\w.]+)/,    
    rOpera = /(opera).+version\\/([\\w.]+)/,    
    rChrome = /(chrome)\\/([\\w.]+)/,    
    rSafari = /version\\/([\\w.]+).*(safari)/;   
    var browser,version,ua;   
    ua = userAgent.toLowerCase();   

    var match = rMsie.exec(ua);   
    if (match != null) {   
        return { browser : \"ie\", version : match[2] || \"0\" };   
    }

    if (!!window.ActiveXObject || \"ActiveXObject\" in window){
        return { browser : \"ie\", version : \"0\"};    
    }

    var match = rFirefox.exec(ua);   
    if (match != null) {   
        return { browser : \"firefox\", version : match[2] || \"0\" };   
    }   

    var match = rOpera.exec(ua);   
    if (match != null) {   
        return { browser : \"opera\", version : match[2] || \"0\" };   
    }   

    var match = rChrome.exec(ua);   
    if (match != null) {   
        return { browser : \"chrome\", version : match[2] || \"0\" };   
    }   

    var match = rSafari.exec(ua);   
    if (match != null) {   
        return { browser : \"safari\", version : match[1] || \"0\" };   
    }   

    if (match != null) {   
        return { browser : \"\", version : \"0\" };   
    }
}

本文地址:https://www.stayed.cn/item/20387

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。