<input type="date">が使えるかどうか調べるシンプルなJS関数

シンプルな判定関数を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 になるはずです。

以上、ご利用下さい。

参考にさせていただいたサイト