代码收藏(二)JavaScript 根据浏览器更改相应的兼容模式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 浏览器版本信息:
    IE5:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; McAfee)
    IE7:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; McAfee)
    IE8:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; McAfee)
    IE9:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; McAfee)
    IE10:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; McAfee)
    IE11:Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; McAfee; rv:11.0) like Gecko
    Firefox:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
    Chrome:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36ri/537.36 -->

    <script>
        //以侦听事件为例,区分IE8以上或以下的兼容格式

        //IE版本号的兼容格式
        function on(target,type,handler){
            var b=judgeBrowser("IE");
            if(b && Number(b)<9){
                target.attachEvent("on"+type,handler);
            }else{
                target.addEventListener(type,handler);
            }
        }

        //获取IE版本号
        function judgeBrowser(browser){
            var arr=getBrowserRV();
            console.log(arr);
            if(browser.toLowerCase()===arr[0].toLowerCase()){
                return arr[1];
            }else{
                return false;
            }
        }

        //判断当前浏览器并获取浏览器名称和版本号
        function getBrowserRV(){
            var str=navigator.userAgent;
            if(str.indexOf("Chrome")>-1){
                var index=str.indexOf("Chrome");
                return str.slice(index,str.indexOf(" ",index+1)).split("/");
            }
            if(str.indexOf("Firefox")>-1){
                var index=str.indexOf("Firefox");
                return str.slice(index).split("/");
            }
            if(str.indexOf("rv:")>-1 && str.indexOf("Trident")>-1){
                return ["IE","11"];
            }
            if(str.indexOf("MSIE")>-1){
                var index=str.indexOf("MSIE");
                return ["IE",str.slice(index,str.indexOf(";",index+1)).split(" ")[1]];
            }
        }
    </script>
</body>
</html>
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值