基本的にホームページ作りやブログの運営をしている人は、自身で使っているブラウザ上でどう表示されているか?は確認しても他のブラウザでの表示確認はしていないと思います。
かくいう私も普段使いは「Google Chrome」なので、それ以外のブラウザでの確認は基本していません。唯一その他のブラウザでどう?を見る機会があるのは家族が使っているChromium版Microsoft Edge。これもたまたま身近な誰かが使っているから確認している(見る機会がある)だけですし、そのEdgeもChromeと同じChromiumベースなので、基本的に不都合が起こることはありませんから何も違和感はありません。
でもこれが別の方のサイトだと話は別になります。先日もいろいろなカスタマイズと共に「IEでの表示がおかしい部分の修正」を依頼されました。
私は「もうレガシー(古い・主流でない)ブラウザに対応させる必要はないのでは?」と回答したのですが、先方からは「10%位IEからのアクセスがあるので、できればお願いしたい」との返答。確かにIEで確認するとおかしいところがあって、「そのうち使わなくなるのに・・」と思いながら対応しました。
そこでふと「このサイトにはいったいどの位IEでのアクセスがあるんだろう」と興味があり、調べてみたら、なんと全体の5%前後がIEからのアクセスでした。
「何で???」と更に疑問が膨らんだので、今回は「Internet Explorer」の今についてできる範囲でちょっと詳しく調べてみました。
結論 「Internet Explorer」はレガシーブラウザではないという現実
完全に青天の霹靂でした。Microsoftのホームページを見ても、開発をやめるというのは確かなようですが、どこにもサポート終了という記述はありませんでした。そういえばそういう噂もなかったような・・・。
そこで、「Internet Explorer」についてググっていろいろと見てみると、比較的まだ利用されている方の多いWindows8までは「Internet Explorer」がバンドルされていることが判明しました。Edgeが出たから当然それがと思っていたのですが、そうではなかったんです。
また、Windows10においても、標準のブラウザはEdgeではあるものの、IEユーザーが混乱しないようにプログラム自体はインストールされていて、Program Filesから呼び出せるようになっていますから、「Edgeってなんじゃ?」という方がIEを探して使っているケースもあるでしょう。
今までIEからのアクセスが多少あることは認識していましたが、「どーせWinXP時代の古いパソコンからアクセスしてるんでしょ!」なんて軽くとらえてましたけど、なるほど、Windows8以降でバンドルされているIEのバージョンが11なので、IEからのアクセスでもほぼ100%「Internet Explorer」でも最終?バージョンの11だということに少々納得しました。
参考:Microsoft Windowsについてのウィキ/Internet Explorerについてのウィキ
また、一応Microsoft Edgeを使うよう案内はされていますが、公式のInternet Explorerのダウンロードページも存在するので、しばらくはゼロになることはないと思います。
そうなると「もう使われなくなってるブラウザなんだから特に対応する必要はない」というのが揺らいできてしまいますね。
ではどうする?をWordPressの場合は!という限定付きで紹介していきます。
WordPressで運営するサイトでのIE対応をどうするか?
正確にはWordPressでの対処ではなく、使っているテーマをどのようにしていくか?というお話になりますが、実際にIEで自分のサイトがどのように表示されているかの把握と、表示や動作に不具合がある部分に対してどうするのかを決めるのが大事かと思います。
まずは今のパソコンでIEって使えるの?について。
前述したようにWindows10でもIEはインストールされていて、いつでも使える状態になっています。ウインドウズマークをクリックして、「Windowsアクセサリ」の中にショートカットがいるのでぱっと見では見つけられないだけですから、ぜひ自身のサイトを表示してみてください。
IEで表示させて、「まあちょっとアレだけど、見れないわけじゃないから別に大丈夫かな?」と思われる方は、特に何もする必要はないと思いますが、新しく何かの表示をさせるようなプラグインを入れた場合などには一応再チェックすることをおすすめします。
逆に表示させたらびっくり!!なんとかせねば!と感じた方は、「よーし、どんなブラウザでもきちんと表示させるようにしてやる!」といろいろごにょごにょしそうなところですが、せっかく他のブラウザでは問題なく表示されているのですから、無理にIEを含めて対応させる必要はないでしょう。
そこで、機能やデザイン要素をIE(Internet Explorer)の場合のみに適用する方法を2つ紹介します。
IEでは動かないものを止める
WordPressには、サイトにわたって何かの判定をさせるグローバル変数というのがあります。その中にアクセスされたブラウザがIEであるかどうかの判定があり、それを使うと簡単にIEのみ出力するコンテンツを作ることができます。
コードとしてはテーマのPHPファイルに挿入する記述を以下で囲むだけです。
$is_IE = ( $is_macIE || $is_winIE );
if(!is_IE){
ここにコードを書く
}
逆にIE以外の場合に限定したものを書くには
$is_IE = ( $is_macIE || $is_winIE );
if(!$is_IE){
ここにコードを書く
}
※is_IEだけでも機能するようですが、念のため、Windows、Mac用のもの両方ですよ!と宣言してあげるとより確実なようです(違いについては未確認です)。
余談ですが↑の2つのコードのように、条件分岐は「!」を付けると逆説になるので便利ではありますが、どちらを基準にするかを決めておかないと後で修正する時に判断を間違える原因になりますから気を付けましょう。
またグローバル変数はたくさんありますので、WordPressのCodexも併せてご覧ください。
IEの時だけ表示方法を変える
IEと他のブラウザではこちらの方が結構顕著に違ってくると思います。特に列を並べての表示方法では大抵の場合IEでは崩れてしまうことが多いです。
そんな時はIEの時だけ適用させる記述をして、IE用のデザイン要素を書くと、他のブラウザはそのままに、IEの時だけの対処をさせることができます。
方法は単純、以下のコードで挟んだ部分にIE用のデザイン指示を書いていくだけです。
/********** IEの場合のみ適用するデザイン要素 **************/
@media all and (-ms-high-contrast: none) {
ここにIEの場合だけ適用するデザイン指示を書く
}
これですべてOKということではありませんが、とりあえずという場合には事足ります。
いかがでしたか?
案外単純な方法で分岐(切り替え)できるようになっていますので、よかったら使ってみてください。
ただそれでも100%対応させるというのは結構困難なので
IE(Internet Explorer)ではページが正常に表示されない可能性があることを表示するプラグイン「WP IE Buster」
というプラグインを使って「この環境ではきちんと表示されないかも」とお知らせすれば、IEで訪問された方から「表示のおかしなページだな・・」と誤解されることを減らせるかも知れません(2020年12月現在当サイトでも使用しているプラグインです)。
※もちろんこのプラグインも「is_IE」変数でIEかどうかの判定をしていますから、参考に見てみるのもいいかも知れません。