使用JavaScript调用常用浏览器,解决IE浏览器兼容性问题

2023-11-17

目录

前言

JavaScript代码

        此贴为个人学习记录,便于以后使用!

前言

        开发中经常会遇到用户使用IE浏览器的情况,但是由于各种兼容问题,网页实际显示效果和开发的效果有较大出入。

        所以有了以下解决方案:如果当前网页用户使用IE浏览器打开,则调用Edge/Google/Firefox(具体可根据需求自行添加)等兼容性较好的常用浏览器并跳转至当前链接,详细代码如下。


提示:以下是本篇文章正文内容,下面案例可供参考

JavaScript代码

<!DOCTYPE html>
<html lang="CN">
  <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>跳转测试</title>
  </head>
  <body>
    <h1>跳转测试文件</h1>
  </body>
  <script>
    window.onload = function () {
      /** 如果用户使用IE浏览器,则跳转到Chrome浏览器以获取最佳体验*/
      var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
      var isIE =
        userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否为IE11以下版本的浏览器
      var isIE11 =
        userAgent.indexOf("Trident") > -1 && userAgent.indexOf("rv:11.0") > -1; //判断是否为IE11浏览器
      if (isIE || isIE11) {
        var objShell = new ActiveXObject("WScript.Shell");
        if (!objShell.Run("cmd.exe /c start msedge ", 0, true)) {
          objShell.Run(
            "cmd.exe /c start msedge " + window.location.href,
            0,
            true
          ); //cmd调用edge打开当前网页
          return;
        } else if (!objShell.Run("cmd.exe /c start chrome ", 0, true)) {
          objShell.Run(
            "cmd.exe /c start chrome " + window.location.href,
            0,
            true
          ); //cmd调用Chrome打开当前网页
          return;
        } else if (!objShell.Run("cmd.exe /c start firefox ", 0, true)) {
          objShell.Run(
            "cmd.exe /c start firefox " + window.location.href,
            0,
            true
          ); //cmd调用Firefox打开当前网页
          return;
        } else if (!objShell.Run("cmd.exe /c start UCBrowser ", 0, true)) {
          objShell.Run(
            "cmd.exe /c start UCBrowser " + window.location.href,
            0,
            true
          ); //cmd调用UCBrowser打开当前网页
          return;
        }

        /** 关闭当前IE浏览器标签*/
        if (isIE) {
          window.open("", "_self");
          // window.close();
        } else {
          window.open("", "_top");
          // window.close();
        }
      }
    };
  </script>
</html>

        此贴为个人学习记录,便于以后使用,仅供参考!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用JavaScript调用常用浏览器,解决IE浏览器兼容性问题 的相关文章

随机推荐