Javascript 如何停止angular的执行并向Intenet Explorer用户显示消息?

Javascript 如何停止angular的执行并向Intenet Explorer用户显示消息?,javascript,html,angular,Javascript,Html,Angular,我有一个angular 7项目,我想向IE用户显示这样的信息:您的浏览器已经过时了,请使用chrome或firefox 我可以通过以下代码检测浏览器: var browser = (function(agent){ switch(true){ case agent.indexOf("edge") > -1: return "edge"; case agent.indexOf("opr") > -1 &a

我有一个
angular 7
项目,我想向IE用户显示这样的信息:
您的浏览器已经过时了,请使用chrome或firefox

我可以通过以下代码检测浏览器:

       var browser = (function(agent){
          switch(true){
            case agent.indexOf("edge") > -1: return "edge";
            case agent.indexOf("opr") > -1 && !!window.opr: return "opera";
            case agent.indexOf("chrome") > -1 && !!window.chrome: return "chrome";
            case agent.indexOf("trident") > -1: return "ie";
            case agent.indexOf("firefox") > -1: return "firefox";
            case agent.indexOf("safari") > -1: return "safari";
            default: return "other";
          }
        })(window.navigator.userAgent.toLowerCase());
        console.log(browser)

        if(browser === 'ie'){
          alert("IE detected!"); 
        }

此脚本位于
元素下的
index.html
文件中。现在,如何停止angular解析
,并在文档正文中显示消息

您可以在
main.ts
中应用您的逻辑。这是angular应用程序的启动文件,您可以防止angular启动。看看这个

首先,我将一段HTML放入
index.HTML

这是IE消息
接下来,我将您的代码复制到
main.ts

var browser = (function(agent){
  switch(true){
    case agent.indexOf("edge") > -1: return "edge";
    case agent.indexOf("opr") > -1 && !!window.opr: return "opera";
    case agent.indexOf("chrome") > -1 && !!window.chrome: return "chrome";
    case agent.indexOf("trident") > -1: return "ie";
    case agent.indexOf("firefox") > -1: return "firefox";
    case agent.indexOf("safari") > -1: return "safari";
    default: return "other";
  }
})(window.navigator.userAgent.toLowerCase());
console.log(browser);

if(browser === 'ie'){
  // if the browser is IE, remove "display: none" from IE message template
  document.getElementById('ie-message').style.display = 'block';
} else {
  platformBrowserDynamic().bootstrapModule(AppModule).then(ref => {
  // Ensure Angular destroys itself on hot reloads.
  if (window['ngRef']) {
    window['ngRef'].destroy();
  }
  window['ngRef'] = ref;

  // Otherwise, log the boot error
  }).catch(err => console.error(err));
}


为什么不添加IE polyfills?@AdrianBrand我使用的是angular flex布局,它不支持IEIE 11 supports flexYea,但我花了一整天的时间制作
angular flex布局
与IE一起工作,没有机会。不管怎样,我对IE不感兴趣:))谢谢你Bunyamin!我可以在哪里向Html正文发送消息?@AhmadMobaraki我已经更新了我的答案,并检查了新的stackblitzOne问题!我是否必须使用这一行:
import'/polyfills'?在main.tsIt是角度默认值,我建议您保留它,并在
polyfills.ts中注释掉您不需要的任何内容。ts
@AhmadMobarakiI不需要它,但当我注释掉这一行时,IE浏览器在控制台中显示和错误:
SCRIPT5022:SecurityError polyfills.ts(80,4)