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)