とあるJavaScriptのライブラリを実装したところ、IE11でエラーが発生したので、問題解決のために「Polyfill.io」を使うことにしました。
Polyfill.io : https://polyfill.io/
IEのときだけ読み込みたかったので、以下のようなコードを記述。
<!--[if IE]> <script src="https://polyfill.io/v3/polyfill.min.js" crossorigin="anonymous"></script> <![endif]-->
コレで問題解決。
……と思ったのに、ブラウザチェックをしてみたら polyfill.io が読み込まれていない!?
なぜ!?
調べてみたところ、どうやらこの条件付きコメント(別名「コンディショナルコメント」と呼ぶようです)はIE10以降は廃止になっているとのこと。
マイクロソフトの公式サポートでもアナウンスがありました。
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/compatibility/hh801214(v=vs.85)
かなり以前から使えなくなっていたんですね。
知りませんでした。
条件付きコメントが使えないので、PHPでブラウザ判定して処理を分岐する方法を掲載しておきましょう。
<?php $ua = getenv('HTTP_USER_AGENT'); if (strstr($ua, 'Edge')) { ?> Microsoft Edge のときの処理を記述 <?php } elseif (strstr($ua, 'Trident') || strstr($ua, 'MSIE')) { ?> Internet Explorer のときの処理を記述 <?php } ?>
とりあえずはコレで解決です。
ホント厄介ですねぇ。IEは。