HTML5に標準装備されているいくつかの新機能を実装したいのですが、サイトを壊さない方法でそれを実行できるようにしたいと考えています。
プログレッシブエンハンスメントとユーザーエージェントのチェックは常にオプションであることを知っています。より良い代替手段はありますか?
2可能なアプローチ:
HTML 5の特徴の検出HTML 5に飛び込む の章も参考になります。
扱っているブラウザの種類を判断するはるかに正確な方法は、useragentを読み取ることではなく、機能の選択です。
jQueryには.support() があり、これを行うのに最適な方法です。
他の機能と同様に、古いブラウザではそれが適切に劣化するようなものを実装する場合は、必ず確認してください。
これらの応答に加えて、フォーム要素のような多くのHTML5要素は、ブラウザがtype
属性を認識しない場合、デフォルトでtext
に認識されるため、単純なテキストボックスに格段に低下します。また、ブラウザが属性を認識しない場合(placeholder
など)、無視します。このグレースフルデグラデーションは、ユーザーのブラウザーがHTML5をサポートしていない場合、混乱することを心配せずにこれらの要素を実装できることを意味します。彼らは単に特別なものを見ることはありません。
Gmailはプログレッシブエンハンスメントの縮図であり、ストレートHTMLからすべての機能を備えています。これが、これほど多くの視聴者がいる理由です。したがって、エミュレートするのに適したモデルです。
Html5の機能を、互換性のあるブラウザーのjavascriptによって有効になるものに委ねることをお勧めします。これは、まだHTML 4から始めることを意味します。