シンプルな判定関数をJavaScriptで作ってみた
HTML5から導入された <input type="date"> 。これだけで日付選択のカレンダーポップアップが出るという超絶便利なタグですが、古いブラウザではもちろん機能しませんので別の対応が必要です。
そこで、<input type="date">が使えるかどうかのJS判定が必要になったりするのですが、ネットをちょっと徘徊すると type="date" 以外にもチェックできる modernizr.js という便利そうなプラグインがありました。
ただ、ちょっと物々しいですので、もうちょっと簡単な関数を用意してみました。外部JS持ってくるとかそこまで面倒なことしたくない、 type="date" が使えるかどうかだけ分かればオッケー、という方向けです。(もちろん利用は自己責任でお願いします)
/**
* <input type="date">が使えるかどうかを返す関数
*
* @return {boolean} 使えればtrue
*/
function hasInputTypeDate() {
var elm = document.createElement('input');
elm.setAttribute('type', 'date');
elm.value = 1;
return elm.value != 1;
}
この関数を読み込んで、コンソール上で hasInputTypeDate() を叩いてみて下さい。
true が出れば、 <input type="date"> が使えるということです。

Chrome や firefox 等は true になりますが、safari や IE11 では使えませんので false になるはずです。
以上、ご利用下さい。