Navigator.appCodeName 和用户代理有问题

Trouble with Navigator.appCodeName and Useragent

在执行以下代码时,它会显示 Mozilla,即使它是在 safari 中执行的,或者 chrome 在 Useragent 和 AppCode Name 中执行的。我错过了什么吗?

   <!DOCTYPE html>
    <html>
    <body>

    <p>Click the button to display the code name of your browser.</p>

    <button onclick="myFunction()">Try it</button>

    <p id="demo"></p>
    <p id="demo1"></p>

    <script>
    function myFunction() {
        var x = "Browser CodeName: " + navigator.appCodeName;
        var y = navigator.userAgent;

        document.getElementById("demo").innerHTML = x;
        document.getElementById("demo1").innerHTML = y;

    }
    </script>

    </body>
    </html>

navigator.appCodeName 在任何浏览器上总是 returns 'Mozilla' 因为 属性 已被弃用并仅出于兼容性目的而保留。
https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID.appCodeName

https://github.com/ded/bowser这样的库可以解决大多数浏览器检测的问题。
这个库更详尽:https://github.com/bestiejs/platform.js/