ブラウザ/ユーザーエージェント/クライアントがRaphael.jsライブラリをサポートしているかどうかをテストするための最も簡単で信頼性の高い方法は何ですか?RaphaelはJavascriptを使用してSVGベクターグラフィックを作成および制御します。SVGが利用できないがVMLが利用できる場合(たとえば、Internet Explorerバージョン6〜8)、VMLを使用して同等のグラフィックを作成および制御します。
1つの方法は、SVGを機能検出し、それが利用できない場合はVMLを機能検出することです。2009年からの古い質問があり、VMLとSVGの機能を検出するためのコードを含む回答があります。ただし、コメントはすべての場合に機能するとは限らないことを示唆しており、2009年以降、多くの変更があったと確信しています。また、Raphaelに固有のより簡単な方法があるかもしれません。
より簡単な代替方法は、いくつかのRaphael内部フラグまたは関数を使用することです。すでにSVGモードとVMLモードのどちらで動作しているかの変数を設定しています。これを使用して、「どちらでもない」状態を確実に検出できますか?
または、空のRaphaelオブジェクトを作成し、そのプロパティまたは関数をテストすることに基づく信頼できるアプローチがあるでしょうか。
一般的な背景として、Raphaelと互換性のない一般的なブラウザーはバージョン1.xおよび2.xのAndroidストックブラウザーのみであることがわかっている限り、ブラウザーのバージョン検出ではなく機能検出を使用することをお勧めします。可能です(この場合、それが実際には異常に優れた解決策であるという正当な理由がない限り)。