
ぼっちんさん に教えて頂きました。「こんなのあるぜ?」って感じで(笑)
最近は「IE非対応サイト」も徐々に増えつつあります。非対応というのは要は「IE向けCSSフォールバックは書かないからデザイン崩れてても知らーん」ってことです。大抵は。
というわけでIE利用者さんへ向けての「ごめんね。IEからはまともに見られないよ」「他のブラウザ使ってみない?」を促すためのオーバレイ表示を行う方法をご紹介くださっているサイトさんをご紹介(なんか日本語がおかしいか)

Internet Explorerを判定してアラートを表示し、モダンブラウザへ誘導する方法(PHP版 / JS版) | WEMO
一刻も早くInternet Explorer (以下 IE) の呪縛から解放されたい。 そこで、IEで訪れてきたユーザーに対してモダンブラウザへ誘導するアラートを実装してみました。 方法は簡単。ユーザーエージェントからIEを判定し、警告メッセージを表示するdiv要素を表示するだけです。
UA判定をして相手方がIEを利用していた場合のみオーバレイを表示する、という主旨のJSです。
以前はIEのみの分岐構文 <!--[if IE]> <![endif]--> というのがありまして、if IE9 とあれば ie8を含みそれ以下のバージョンのieを対象に、if IE とあれば全バージョンのieを対象に… というはずだったのですが。
かなり前からこの分岐は ie10 を含みそれ以上のバージョン では無効になっているそうです。
お恥ずかしい話、私全然知りませんでした ←
いやホントすみません ^^;
効力があるのは <!--[if IE10]> まで、つまりie9までを対象とする分岐のみ現在は有効のようです。<!--[if IE]> と書いても10と11では無視されるってことですよね。
って、なんでそんなことするねん!!!正気の沙汰とは思えんなーmsさんよぅ o(`ω´*)
というわけで、分岐で処理するのが一番良かったのですが全バージョンを敵とみなす場合には使えないよ、ということで上記サイトさんが良案「UA判定」の仕方を教えてくださってますのでみんなで使ってこー (●'0'●)/
で、ソースコードなど修正やらなんやら本来は不要なのですが、ブログサービスの特徴もありますのでFC2ブログで使うにはどうしたら良いか、という点だけ補足したいと思います。
`<span>Internet Explorer、ダメ絶対!</span>
Google Chromeをダウンロード</a>`;
ちょっとわかりづらいですが、<span>Internet Explorer の直前と Chromeをダウンロード</a> の直後にある ` の記号を ' に変更。
そして ieDiv.innerHTML = 以降にあるhtml内容は要素毎の改行はせずに横に繋げて書きます。
ieDiv.innerHTML = '<span>Internet Explorer、ダメ絶対!</span><p>あなたが使用している <b>Internet Explorer</b> というブラウザはとても古いものです。<br>言ってしまえば、百害あって一利なしの老害です。<br>世界中で、多くのWEB制作者があなたの <b>Internet Explorer</b> のせいで苦悩しています。<br><br>どうか、<b>最新のモダンブラウザ(EdgeやFirefox、Google Chrome)</b>をお使いください。</p><a href="https://www.google.co.jp/chrome/index.html">Google Chromeをダウンロード</a>';
IEユーザーを切り捨てられるかどうかはサイトの特徴なんかもありますから、自身の運営方針と照らすことが第一です。そこは大前提としてお伝えしておきます。
IEユーザーへ何らかのアナウンスをしておかないと、「なんやこのサイト。えらく崩れとる。このド素人が。」とか思われたらヌンチャクなど探したくなりますのでやはり警告文は必要ではないかと思います。
作者様へはありがとうございます。ありがたく使わせて頂きます ( ゚∀゚)
There are no comments yet.