天天看點

使用JavaScript調用常用浏覽器,解決IE浏覽器相容性問題前言JavaScript代碼

目錄

前言

JavaScript代碼

        此貼為個人學習記錄,便于以後使用!

前言

        開發中經常會遇到使用者使用IE浏覽器的情況,但是由于各種相容問題,網頁實際顯示效果和開發的效果有較大出入。

        是以有了以下解決方案:如果目前網頁使用者使用IE浏覽器打開,則調用Edge/Google/Firefox(具體可根據需求自行添加)等相容性較好的常用浏覽器并跳轉至目前連結,詳細代碼如下。

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

JavaScript代碼

<!DOCTYPE html>
<html >
  <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>
           

        此貼為個人學習記錄,便于以後使用,僅供參考!

繼續閱讀