请老师看下对不对

请老师看下对不对

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="button" value="点击获取浏览器信息" id="browser">
</body>
<script>
    var btn=document.getElementById('browser');
    btn.onclick=web;
    function web(){
        var name=navigator.appName;
        var version=navigator.appVersion;
        var user=navigator.userAgent;
        var platform=navigator.platform;
        console.log('您的浏览器是:'+name+'-'+'您的浏览器版本是:'+version+'-'+
        '您的浏览器内核信息是:'+user+'-'+'您的浏览器操作系统是:'+platform)

        console.log(navigator.userAgent)
        // if(user.includes('Safari')&&user.includes('iphone')) console.log('苹果浏览器');
        // if(user.includes('Firefox')) console.log('火狐浏览器');

        if(user.includes('Chrome/100.0.4896.75')){
            console.log('谷歌浏览器');
        }else if(user.includes('Edg/102.0.1245.30')){
            console.log('IE浏览器');
        }

    }
</script>
</html>

请老师看下,这样对不对?判断哪种浏览器是不是要加上版本号,不然我不写版本号IE也会判断成谷歌。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,代码不对,判断哪种浏览器时不用加上版本号,而是根据userAgent中,每个浏览器包含的特有的字符串来判断是哪个浏览器,示例:

https://img1.sycdn.imooc.com//climg/629c0a72095b7d3815600810.jpg

祝学习愉快~

  • 慕仙7313728 提问者 #1

    这是谷歌浏览器打印的:

    您的浏览器内核信息是:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36

    这是IE浏览器打印的:(我打开的是IE,不是IE的edg浏览器,它没有MSIE抬头)

    您的浏览器内核信息是:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.33

    -------------

    以上两条信息没看懂,谷歌浏览器后面还跟了Safari苹果的,IE打印的信息也有Chrome和Safari的

     if(user.indexOf('Chrome')>-1){

                console.log('谷歌浏览器');

            }else if(user.indexOf('Edg')>-1){

                console.log('Edg浏览器');

            }


    判断那里是不是不能用includes判断。然后我按照老师的写法判断,IE的显示打开还是显示谷歌浏览器。

    2022-06-05 09:59:32
  • 好帮手慕慕子 回复 提问者 慕仙7313728 #2

    问题解答如下:

    1、IE浏览器要在8~10版本下测试,示例:

    https://img1.sycdn.imooc.com//climg/629c1d1c09846b0a09300112.jpg

    2、可以使用includes,但是由于includes在IE浏览器下存在兼容性问题,所以推荐通过使用indexOf方式判断。

    祝学习愉快~

    2022-06-05 11:05:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师