浏览器内核版本检测页面

一个网页

有时候想知道自己手机的浏览器版本或者微信的浏览器版本,于是上网找了下,找到一个浏览器内核版本检测页面:ie.icoa.cn/。非常简单,没什么复杂的功能。

PC

image.png

手机企业微信浏览器

9d2fa0c63a026b432dd97d2358a0db85.jpg

ChatGPT开发

看着这个页面不复杂,就让ChatGPT帮我写了一个,把它放在CDN上了:cdn.uino.cn/deno/ua.htm… image.png

交流信息:shareg.pt/r6ovSUv

最终代码176行,有需要的自取:



  浏览器信息检测

    body {
      font-family: Arial, sans-serif;
      padding: 20px;
    }

    h1 {
      margin-bottom: 20px;
    }

    #result {
      border: 1px solid #ccc;
      padding: 20px;
      background-color: #f5f5f5;
    }

    @media screen and (max-width: 480px) {

      /* 在小屏幕设备上进行样式调整 */
      body {
        padding: 10px;
      }

      h1 {
        font-size: 24px;
      }

      #result {
        padding: 10px;
      }
    }

  浏览器信息检测

    function detectBrowserEngine() {
      var userAgent = navigator.userAgent.toLowerCase();
      var engine = "";

      if (userAgent.indexOf("trident") !== -1) {
        engine = "Trident";
      } else if (userAgent.indexOf("edge") !== -1) {
        engine = "EdgeHTML";
      } else if (userAgent.indexOf("webkit") !== -1) {
        engine = "WebKit";
      } else if (userAgent.indexOf("gecko") !== -1 && userAgent.indexOf("like gecko") === -1) {
        engine = "Gecko";
      } else if (userAgent.indexOf("presto") !== -1) {
        engine = "Presto";
      } else if (userAgent.indexOf("iphone") !== -1 || userAgent.indexOf("ipad") !== -1 || userAgent.indexOf("ipod") !== -1) {
        return "iOS";
      } else if (userAgent.indexOf("android") !== -1) {
        return "Android";
      } else if (userAgent.indexOf("windows phone") !== -1 || userAgent.indexOf("windows mobile") !== -1) {
        return "Windows Phone";
      } else {
        return "Unknown";
      }

      return engine;
    }

    function getIPAddress() {
      return fetch('https://api.ipify.org?format=json')
        .then(response => response.json())
        .then(data => data.ip)
        .catch(error => {
          return Promise.reject(error);
        });
    }

    function getIPDetails(ip) {
      return fetch('https://ipapi.co/' + ip + '/json/')
        .then(response => response.json())
        .then(data => {
          data.ip = ip;
          return data;
        })
        .catch(error => {
          return Promise.reject(error);
        });
    }

    function formatDateTime(date) {
      var year = date.getFullYear();
      var month = String(date.getMonth() + 1).padStart(2, '0');
      var day = String(date.getDate()).padStart(2, '0');
      var hours = String(date.getHours()).padStart(2, '0');
      var minutes = String(date.getMinutes()).padStart(2, '0');
      var seconds = String(date.getSeconds()).padStart(2, '0');

      return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
    }

    function displayBrowserInfo() {
      var resultElement = document.getElementById("result");

      // 获取浏览器内核和版本
      var engine = detectBrowserEngine();
      var version = navigator.appVersion;

      // 获取操作系统和位数
      var os = navigator.platform;
      var bit = detectOSBit();

      // 获取完整用户代理字符串
      var ua = navigator.userAgent;

      // 获取访问者IP地址
      getIPAddress()
        .then(ip => {
          return getIPDetails(ip);
        })
        .then(details => {
          var address = [details.country, details.regionName, details.city].filter(Boolean).join(", ");

          resultElement.innerHTML = "操作系统:" + os + "(" + bit + ")"
            + "浏览器内核:" + engine + ""
            + "版本信息:" + version + ""
            + "完整代码(UA):" + ua + ""
            + "来访IP:" + details.ip + ""
            + "所属地址:" + address + ""
            + "时间:" + formatDateTime(new Date());
        })
        .catch(error => {
          resultElement.innerHTML = "操作系统:" + os + "(" + bit + ")"
            + "浏览器内核:" + engine + ""
            + "版本信息:" + version + ""
            + "完整代码(UA):" + ua + ""
            + "无法获取来访IP"
            + "时间:" + formatDateTime(new Date());
        });
    }

    function detectOSBit() {
      var userAgent = navigator.userAgent.toLowerCase();
      var osBit = "";

      if (userAgent.indexOf("macintosh") !== -1) {
        if (userAgent.indexOf("intel") !== -1) {
          osBit = "64位";
        } else {
          osBit = "32位";
        }
      } else if (userAgent.indexOf("windows") !== -1) {
        if (userAgent.indexOf("wow64") !== -1 || userAgent.indexOf("win64") !== -1) {
          osBit = "64位";
        } else {
          osBit = "32位";
        }
      } else if (userAgent.indexOf("linux") !== -1) {
        if (userAgent.indexOf("x86_64") !== -1 || userAgent.indexOf("x86-64") !== -1 || userAgent.indexOf("amd64") !== -1) {
          osBit = "64位";
        } else {
          osBit = "32位";
        }
      }

      return osBit;
    }

    window.onload = displayBrowserInfo;