#Mensagem Compatibilidade IE
Simples funcionalidade para exibir mensagem bloqueante quando o navegador é o IE.
<!doctype html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Pagina Vazia</title> | |
<meta name="viewport" content="width=device-width, initial-scale=1"> | |
<meta name="theme-color" content="#00bcd4"> | |
<style> | |
*, | |
*:before, | |
*:after { | |
box-sizing: inherit; | |
} | |
html { | |
font-size: 15px; | |
line-height: 1.5; | |
font-family: 'Helvetica', 'Arial', sans-serif; | |
font-weight: normal; | |
color: rgba(0, 0, 0, 0.87); | |
} | |
a { | |
color: #039be5; | |
text-decoration: none; | |
} | |
#aviso-ie-container { | |
position: fixed; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
z-index: 10000; | |
overflow: hidden; | |
overflow-y: auto; | |
background-color: #eee; | |
} | |
.aviso-ie { | |
text-align: center; | |
padding: 0; | |
display: block; | |
margin: 40px auto 0; | |
} | |
.aviso-ie-dialog { | |
max-width: 600px; | |
display: inline-block; | |
vertical-align: middle; | |
border: 1px solid #ccc; | |
text-align: center; | |
background: #fff; | |
} | |
.aviso-ie-content { | |
border: 0; | |
border-radius: 0; | |
} | |
.aviso-ie-header { | |
border: 0; | |
padding: 0; | |
position: relative; | |
color: #fff; | |
background-color: #0277bd; | |
height: 64px; | |
line-height: 64px; | |
font-size: 16px; | |
font-weight: bold; | |
} | |
.aviso-ie-header #logo-projeto { | |
float: left; | |
height: 100%; | |
} | |
.aviso-ie-content p { | |
padding: 0; | |
} | |
.aviso-ie-content .secao-compativeis { | |
border-top: 1px dashed #ddd; | |
padding-top: 15px; | |
} | |
.aviso-ie-body .lista-navegador li { | |
display: inline-block; | |
} | |
.aviso-ie-body .icone-navegador { | |
width: 150px; | |
height: auto; | |
text-align: center; | |
font-size: 12px; | |
font-weight: 700; | |
display: inline-block; | |
} | |
.aviso-ie-body .icone-navegador span { | |
background: url(./browsers-bg.png) no-repeat; | |
background-size: auto 100px; | |
position: relative; | |
width: 100px; | |
height: 100px; | |
display: block; | |
margin: 0 auto 10px; | |
} | |
.aviso-ie-body .icone-navegador.chrome span { | |
background-position: 0 0; | |
} | |
.aviso-ie-body .icone-navegador.firefox span { | |
background-position: -100px 0; | |
} | |
.aviso-ie-body .icone-navegador.ie span { | |
background-position: -200px 0; | |
} | |
</style> | |
</head> | |
<body> | |
<app-root id="app-root"></app-root> | |
<!--Mensagem de aviso de incompatibilidade quando usado no Internet Explorer--> | |
<div id="aviso-ie-container" style="display: none"> | |
<div class="aviso-ie"> | |
<div class="aviso-ie-dialog"> | |
<div class="aviso-ie-content"> | |
<div class="aviso-ie-header"> | |
<div id="logo-projeto" class="valign-wrapper"> | |
<img class="valign" src="assets/img/logo_projeto.png" style="margin-left: 10px;" alt="${PROJETO}"> | |
</div> | |
Aviso de compatibilidade do navegador | |
</div> | |
<div class="aviso-ie-body"> | |
<div> | |
<table> | |
<tbody> | |
<tr> | |
<td> | |
<div class="icone-navegador ie"> | |
<span></span> | |
</div> | |
</td> | |
<td> | |
<strong><b>O Internet Explorer não é compatível com o ${PROJETO}</b></strong> | |
<p> | |
O <strong>Internet Explorer</strong> possui falhas em ferramentas do HTML5, | |
afetando na exibição dos componentes de interface necessários para o funcionamento | |
do <strong>${PROJETO}</strong>. | |
</p> | |
<p> | |
Por favor, considere migrar para outro navegador. | |
</p> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</div> | |
<div class="secao-compativeis"> | |
<strong><b>O ${PROJETO} funciona nos seguintes navegadores:</b></strong> | |
<ul class="lista-navegador"> | |
<li> | |
<a href="https://www.google.com/chrome/browser/desktop/" class="icone-navegador chrome" target="_blank"> | |
<span></span> | |
Google Chrome | |
</a> | |
</li> | |
<li> | |
<a href="https://www.mozilla.org/pt-BR/firefox/new/" class="icone-navegador firefox" target="_blank"> | |
<span></span> | |
Mozilla Firefox | |
</a> | |
</li> | |
</ul> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<script> | |
(function () { | |
//event listener: DOM ready | |
function addLoadEvent(func) { | |
var oldonload = window.onload; | |
if (typeof window.onload != 'function') { | |
window.onload = func; | |
} else { | |
window.onload = function () { | |
if (oldonload) { | |
oldonload(); | |
} | |
func(); | |
} | |
} | |
} | |
//call plugin function after DOM ready | |
addLoadEvent(function () { | |
// https://stackoverflow.com/a/44929931 | |
// Get IE or Edge browser version | |
var version = detectIE(); | |
if (version !== false || true) { | |
document.getElementById('aviso-ie-container').style.display = 'block'; | |
document.getElementById('app-root').style.display = 'none'; | |
} | |
/** | |
* detect IE | |
* returns version of IE or false, if browser is not Internet Explorer | |
*/ | |
function detectIE() { | |
var ua = window.navigator.userAgent; | |
var msie = ua.indexOf('MSIE '); | |
if (msie > 0) { | |
// IE 10 or older => return version number | |
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); | |
} | |
var trident = ua.indexOf('Trident/'); | |
if (trident > 0) { | |
// IE 11 => return version number | |
var rv = ua.indexOf('rv:'); | |
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10); | |
} | |
var edge = ua.indexOf('Edge/'); | |
if (edge > 0) { | |
// Edge (IE 12+) => return version number | |
return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10); | |
} | |
// other browser | |
return false; | |
} | |
}); | |
})(); | |
</script> | |
</body> | |
</html> |