ときどき、顧客の Web サーバーにこのようなものをインストールするように求められたり、BrowserHawk をサポートしているかどうかを尋ねられたりします (サポートしていません)。
Modernizrを顧客に向けて、代わりに使用するように指示できるかどうか疑問に思っています。
ときどき、顧客の Web サーバーにこのようなものをインストールするように求められたり、BrowserHawk をサポートしているかどうかを尋ねられたりします (サポートしていません)。
Modernizrを顧客に向けて、代わりに使用するように指示できるかどうか疑問に思っています。
私はBrowserhawkを使ったことがないので(実際、今まで聞いたことがありませんでした)、私の意見を間違いのないものと見なさないでください。
ただし、browsecap.iniについては知っています。少し時間を取って、Browserhawk Webサイトを読んだので、サーバー側のブラウザー検出ツールでもあると確信しています。
その場合、答えは「はい」です。現在のベストプラクティスでは、サーバー側のブラウザー検出を使用せず、代わりにクライアント側の機能検出を使用するようにしています。そして、これはまさにModernizrが行うことです。
機能検出を使用すると、特定のブラウザーを使用している(または使用していない)ユーザーを単にブロックするのではなく、ユーザーのブラウザーの機能に応じてサイトをよりきめ細かく調整できます。また、必要に応じて、特定の機能に対して特定のフォールバックソリューションを実装することもできます。
ブラウザ市場は急速に変化しているため、サーバー側からユーザーのブラウザを検出することは問題です。新しいバージョンに対応するには、ブラウザ検出スクリプトを常に更新する必要があります。
さらに、少し変わったブラウザやブラウザシェルのユーザーは、ブラウザ検出スクリプトによって正しく検出されない可能性があるため、ブラウザがサイトを表示できるはずなのに、それを使用するサイトで問題が発生する可能性があります。また、一部のユーザーは、ブラウザを正しく検出するために必要なユーザーエージェント文字列を提供しない場合があります。一部のプロキシやファイアウォールなどによってブロックされており、一部のブラウザでは変更が許可されているため、ユーザーが必要に応じて簡単になりすますことができます。
しかし、ブラウザの検出よりも機能の検出を促進するために長い時間を費やしたので、これらすべての例外を1つ指摘する必要があります。それが、IEです。
古いバージョンのIEには多くのバグがあります。これは、バグを簡単に積極的にチェックできないため、単に機能が不足していることとは異なります。IEのバグに特定の問題がある場合は、それらを回避するためにブラウザの検出を行うことは正当です。(機能の検出は、実際のバグではなく、ブラウザーがサポートするものだけを心配している場合でも有効です)
ただし、この場合でも、browsercap.iniやBrowserhawkなどのツールは不要です。IEは条件付きコメントをサポートしているので、IEの特定のコードを、わざわざ検出することなく追加できます。