如何防止在Index.html中加载Angular应用程序

问题描述 投票:1回答:1

我们试图使角度7应用程序仅在少数特定浏览器列表中工作。如果浏览器不在配置的列表中,我们只需要显示一个简单的HTML页面,并停止任何进一步的处理。为此添加了以下代码,并且它在默认情况下不支持Angular的浏览器(例如:IE 8)中正常工作。但是当试图在现代浏览器中复制相同的行为时(例如:最新版本的Opera),它会显示错误页面(浏览器不支持)并继续进入应用程序登录页面。如何防止这种情况。 (我们不希望导航在这些特定的浏览器中登录页面)。以下代码在Index.html中

 <script>
   //showing relevant code section only

    BrowserDetect.init();
    //supported browser with old version
    if (BrowserDetect.browser == "MS Edge" && BrowserDetect.version < 13 ||
      BrowserDetect.browser == "Chrome" && BrowserDetect.version < 45 ||
      BrowserDetect.browser == "Safari" && BrowserDetect.version < 10 ||
      BrowserDetect.browser == "Firefox" && BrowserDetect.version < 53
    ) {
      document.write("HTML for old version browsers go here");
    }
    //unsupported browser eg:Opera, IE etc..
    else if (BrowserDetect.browser !== "MS Edge" && BrowserDetect.browser !== "Firefox"
      && BrowserDetect.browser !== "Chrome" && BrowserDetect.browser !== "Safari") {
      document.write("HTML for unsupported browser goes here");
    **//issue: In latest version of Opera Browser the unsupported HTML is shown and the application is getting navigated to the Login screen.  How to prevent further angular application execution from this line**
    }
  </script>
angular browser cross-browser angular7 browser-support
1个回答
1
投票

检查main.ts文件。在这个文件Angular bootstraps应用程序中。

它可以改为这样的东西:

if (browserOk) {
    platformBrowserDynamic().bootstrapModule(AppModule);
} else {
    // browser unsupported
}
© www.soinside.com 2019 - 2024. All rights reserved.