2017-10-24 12 views
-1

私はsvgでイメージスライダを作っています。私はトランジションをアニメーション化するためにマスクを使用しました。アニメーションがモバイルで動かない問題が発生しました。だから、私はそれが問題の原因だと思っているので、私はマスク属性のブラウザサポートを調べ始めました。ほとんどのサイトでは、デスクトップブラウザのブラウザサポートが表示されますが、モバイルブラウザのブラウザはサポートされていません。何(モバイル)ブラウザでsvgマスクのブラウザサポートと最大限のブラウザサポートを得る方法

  • はSVGマスクないサポートされていますか?
  • svgマスクのクロスブラウザサポートを改善する方法はありますか?
  • ブラウザがJavaScriptを使用してマスクをサポートしているかどうかを検出することは可能でしょうか(そのため、これらのブラウザのアニメーションなしでフォールバックを作成できます)。

答えて

0

<switch>要素のSVGマークアップでフィーチャサポートをテストできます。 UAがマスクをサポートしている場合は、最初のグループのみがレンダリングされます(存在しない場合)。

<switch> 
    <g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Mask"> 
     <!-- content that needs mask capability --> 
    </g> 
    <g> 
     <!-- fallback content here --> 
    </g> 
</switch> 

重要:スイッチで囲む必要がどのようなは、レンダリングされるように、実際にされている要素です。 <mask>要素はレンダリングされずに参照されるだけなので、スイッチは効果を持ちません。代わりに、mask属性/スタイルプロパティを取得するレンダリングされた要素を囲みます。

DOMImplementation.hasFeature()メソッドもありましたが、現在は推奨されておらず、有用な値が返されない可能性があります。

+0

ほとんどすべてのUAが、未知のものであっても、サポートされているすべての機能を報告しています。 –

+0

@ccprog返信する時間をとっているThx。 DOMImplementation.hasFeature()は、まさに私が探していたものと思われました。非常に残念で、それは捨てられています。スイッチ要素を追加すると、私のSVG生成用のJavaScriptにいくらか複雑性が追加されます。これはむしろ避けたいものです。 DOMImplementation.hasFeature()のjavascriptの代替はありますか?なぜこの機能が廃止されているのか? – RMo

+1

それは役に立たなかったので、控えめです。ブラウザの製造元は、いつスイッチを有効にするかを知らなかった。スイッチをtrueまたはfalseに設定する必要があります。マスクのバグを知っていたら、スイッチは真か偽ですか?スイッチはhasFeatureを内部的に使用していますが、機能テストはもう行われません。 –

関連する問題