私のページを実行しているブラウザが「html5プレースホルダー」を処理できるかどうかを確認したい
次のJavaScriptチェックを追加できることはわかっています。
!Modernizr.input.placeholder
しかし、1回のチェックのためだけにライブラリをインポートする価値はありますか?
また、modernizrは私のためにそれをどのように行いますか(つまり、カバーの下でどのように実装されますか)?
私のページを実行しているブラウザが「html5プレースホルダー」を処理できるかどうかを確認したい
次のJavaScriptチェックを追加できることはわかっています。
!Modernizr.input.placeholder
しかし、1回のチェックのためだけにライブラリをインポートする価値はありますか?
また、modernizrは私のためにそれをどのように行いますか(つまり、カバーの下でどのように実装されますか)?
サポートを確認したい場合placeholder
、あなたがする必要があるのは;
var placeholderSupport = "placeholder" in document.createElement("input");
そして、あなたの他の質問に答えるために; いいえ、JSの1行のModernizrライブラリ全体を含める意味はまったくありません(Modernizrは1000行以上です...図を参照してください:))*
*はい、縮小されていませんが、コンセプトは残っています
たとえば、「入力属性」を選択してビルドを生成するだけで、modernizrから必要なものを取得できます。
Modernizr['input'] = (function( props ) {
for ( var i = 0, len = props.length; i < len; i++ ) {
attrs[ props[i] ] = !!(props[i] in inputElem);
}
return attrs;
})(('autocomplete autofocus list placeholder max min ' +
'multiple pattern required step').split(' '));
これを見つけました:http://davidwalsh.name/html5-placeholder
コード:
function hasPlaceholderSupport() {
var input = document.createElement('input');
return ('placeholder' in input);
}
リンクをクリックすることによるフォールバックソリューションもあります