私はSVGベースのビジュアライゼーションを構築しています。これは(部分的に)多くのイメージを素早く表示することに依存しています。イメージはネットワークから十分に高速に取り出すことができないため、プリロードする必要があります。SVGイメージタグをプリロードする最良の方法は?
私の理解では、SVGが少なくとも主要なブラウザではimage
タグを適切にキャッシュしていないことを理解しています。したがって、JavaScriptプリロードのlibrairiesと技術(例えば、this SO question)は動作しません。エンコーディング
- :私は2つのオプションを参照してください(私は層状のHTMLに
img
タグを使用してに頼ることができますが、理由は自分のアプリケーションの仕様を、私は可能な限り純粋なSVGに固執したいと思います)をPNG画像データをbase64としてメモリに格納し、文字列を使用して
image
タグを反復的に取り込みます。data:image/png;base64
を使用します。 - 複数のSVGグループを重ねて、
display: none
またはvisibility: hidden
に設定された1つを除きすべてのSVGグループを重ねて、適切なグループを繰り返し表示します。しかし、私はすべての画像がプリロードを完了したことをプログラムで検出することはできないと考えています。
画像データをプリロードするにはどうすればよいですか?おそらく私はもっと簡単なオプションを見逃してしまったでしょう。
visは* all * SVGである必要がありますか?そうでない場合は、画像をHTMLとしてプリロードして、画像にオーバーレイすることができます。ただし、完全に統合する必要がある場合は機能しません。クリップパスを適用します。 – nrabinowitz
はい、私の質問で言及したように、私はそれがすべてSVGであれば大いに好きです。 (そうでなければ、2つのSVGレイヤーで私のビデオを分割する必要があります。 –