ブラウザーが svg フィルター (具体的には feGaussianBlur) をサポートしているかどうかを検出する機能が必要です。これをテストするにはどうすればよいですか?フィルタをサポートしていない Safari は、サイレントにフィルタを無視します。
1387 次
3 に答える
4
おそらく、インターフェイスで使用可能な列挙型も確認できます。たとえば、次のようになります。
var supportsfilter = typeof SVGFEColorMatrixElement !== undefined &&
SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE==2;
そうすれば、https://stackoverflow.com/a/9767059/109374のように新しい要素を作成する必要がなくなります。これが Safari で期待どおりに機能するかどうかはテストしていません。
更新: modernizr に提出されたパッチ: https://github.com/Modernizr/Modernizr/pull/531
于 2012-03-19T13:33:40.970 に答える
2
GaussianBlur のプロパティの存在を調べるフィドルhttp://jsfiddle.net/yxVSe/を作成しました。GaussianBlur に method があるsetStdDeviation
とします。そのメソッドの存在を確認し、失敗した場合は、現在のブラウザーがそのフィルターをサポートしていないという結論に達します。
このフィドルがチェックインされている場合、サファリのテキストは赤で表示されますが、Firefox では緑になります。
于 2012-03-19T08:36:06.990 に答える