edge and user agent strings

Windows10にバンドルされている新しいブラウザ、Microsoft Edge(以下Edgeと略)。中身はともかく、さっそく今までPHPで作ったスクリプトでチェック・チェック(^^)

IEに依存している部分は少しあるのですが、ほとんど問題はない。が、一カ所、UAで分岐しているところだけ不具合発生orz

Edgeのユーザーエージェントは、Edgeで確認すると・・・

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240

ん? なにこれ?(;゚ロ゚)

Apple Webkitやら Chromeやら、うそつきブラウザやんけー。Microsoftの説明では、

他の最新のブラウザーや現代的な Web コンテンツとの相互運用性を最大限に高めることを目的としています。

だそうです。。。https://msdn.microsoft.com/ja-jp/library/hh869301(v=vs.85).aspx

なら、IEで分岐している所は要らないんだなー、と思いきや、Content-Dispositionヘッダで、filename にファイル名を指定する部分で日本語を使うと・・・ブラウザ側でファイル名の文字化け発生・・・。

相互運用できてねーじゃん!(゚Д゚) 結局やっぱり、IE分岐が必要やんけ!
ってことで、やっぱり、UserAgent文字列から「Edge」を検索して処理を分岐してあげるケースがあった。

とほほ。