ウェブサイト制作時に、各ブラウザに対応するのは当たり前ですよね。
弊社では2021年の4月よりIE対応を行わないこととなりました。
しかしんがら通常通りウェブサイトを構築するとIEにも適切ではない形で
ウェブサイトが表示されてしまいます。
そこで今日はIEでURLをたたいたときに警告の画面を表示する方法を
備忘録として残しておこうと思います。
みなさんの参考になれば幸いです。
基本的にはWordpressでウェブサイトを制作することを前提としてるため
PHPでの実装です。
まずは見た目のデモから。
See the Pen IE判定 by sayuri (@giraffeweb) on CodePen.light
下記のソースをfunction.phpなどに追加してください。
「IEだった場合」という判定関数を指定します。
function is_IE() {
$ua = mb_strtolower( $_SERVER['HTTP_USER_AGENT'] );
if ( strpos( $ua,'msie' ) !== false || strpos( $ua, 'trident' ) !== false ) {
return true;
}
return false;
}
下記をfooter.phpや適切な箇所へ追加してください。
body直前などでもOKです。
HTML部分は好きなように書き換えてください。(あくまでサンプルです。)
<?php if ( is_IE() ) : ?>
<div class="ie_alert flexbox">
<div class="ie_alertInner">
<span class="en">OOPS!</span>
<p>あなたがご利用中のブラウザ、<br><b>Internet Explorer</b> はサポートされていません。</p>
<h2>以下のブラウザからご利用ください。</h2>
<ul class="flexbox fw">
<li><a href="https://www.google.co.jp/chrome/index.html"><i class="fab fa-chrome"></i>Google Chromeをインストール</a></li>
<li><a href="https://www.microsoft.com/ja-jp/edge"><i class="fab fa-edge-legacy"></i>Microsoft Edgeをインストール</a></li>
</ul>
</div>
<div>
<?php endif; ?>
下記はSCSSです。
好きに編集してください。
@media all and (-ms-high-contrast: none) {
body {
overflow: scroll;
-ms-overflow-style: none;
}
}
.ie_alert{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
overflow: scroll;
-ms-overflow-style: none;
background-color: #333;
z-index: 99999999;
justify-content: center;
.ie_alertInner {
max-width: 600px;
width: 100%;
align-self: center;
}
span,p,a,h2{
color: #fff;
}
span{
font-size: 8vw;
text-align: center;
display: block;
}
p{
font-size: 20px;
display: block;
margin: auto;
text-align: center;
margin-bottom: 30px;
}
h2 {
text-align: center;
margin: auto;
display: block;
letter-spacing: 2px;
font-size: 22px;
}
ul {
margin: 40px auto 0 auto;
justify-content: space-between;
li {
width: 48%;
a {
display: block;
border: 1px solid #fff;
padding: 2vw 1vw;
border-radius: 10px;
text-align: center;
i {
font-size: 5vw;
display: block;
margin-bottom: 10px;
}
&:hover {
background-color: #fff;
color: #333;
i {
color: #333;
}
}
}
}
}
}