ウェブページ上にいくつかの新しいHTML5フォーム属性と入力タイプを使用したいと思います。一部のブラウザはすでにそれらをサポートしており、他のブラウザはそれをサポートしていません。私はModernizrを使いたいのですが、それは私のトラブルが始まったことです。Modernizr - ポリフィルのロード方法/カスタム検出の使用
私の理解では、Modernizrは単独ではポリフィルではなく、ブラウザがいくつかの新しいHTML5/CSS3のことができるかどうかをテストできるスクリプトです。必要に応じて、これらの機能を「エミュレート」して、非サポート/古いブラウザで使用できるように、ポリフィルを読み込むことができます。これは正しいと思いますか?
Testing/loadingについて:Modernizrを使用してポリフィルをロードするにはどうすればいいですか?私はこの発見ドキュメントで
:
Modernizr.load({
test: Modernizr.geolocation,
yep : 'geo.js',
nope: 'geo-polyfill.js'
});
をしかし、いくつかのページにも、このようにそれを実行します。また
if (Modernizr.touch){
// bind to touchstart, touchmove, etc and watch `event.streamId`
} else {
// bind to normal click, mousemove, etc
}
、どのように私は実際にこれらの機能の検出が呼び出される方法を知っているのですか?すべての機能の検出には確かにModernizr.geolocation
のようなものがありますか?
Modernizr GitHubリポジトリには、ユーザーが提供する多くの機能があります。 これらをModernizrの私のバージョンにどのように実装すればよいですか?それともビルダーを使うのが一番ですか?
Safariでは、HTML5フォームの検証は機能しますが、エラーメッセージを表示するためのUIはありません。基本的に、この機能は半分しか実装されていません。それで、ModernizrがSafariで誤って肯定的な結果を出すのは、ここで既に述べたように:https://github.com/Modernizr/Modernizr/issues/266 誰かがこのようなカスタムテストでこれを修正したようですが、それでも使い方は分かりません。1
'yepnope'は廃止されました。 –