SVG tabanlı bir görselleştirme yapıyorum (kısmen) hızlı bir şekilde art arda birçok görüntüyü göstermeye dayanıyor. Görüntüler ağdan yeterince hızlı alınamaz, bu yüzden önceden yüklenmiş olmaları gerekir.SVG görüntü etiketlerinin ön yüklemesinin en iyi yolu?
Anlayışım, SVG'nin en azından büyük tarayıcılarda image
etiketini düzgün şekilde önbelleğe almamasıdır. Bu yüzden JavaScript ön yükleme kütüphaneleri ve teknikleri (örn. this SO question) çalışmayacaktır. (Ben katmanlı HTML img
etiketlerini kullanarak çare olabilir, ama çünkü benim uygulamanın özelliklerini, ben mümkün olduğunca saf SVG sopa istiyorum) İki seçenek görmek
: Kodlama
- PNG resim verisi base64 olarak, bellekte dizge olarak saklamak ve
data:image/png;base64
kullanarakimage
etiketlerini yinelemek üzere dizeleri kullanarak dizgilerini kullanarak. - Birçok SVG grubunu üst üste yerleştirmek, ancak tümü bir set olmak üzere
display: none
veyavisibility: hidden
ve uygun grubun iteratif olarak gösterilmesini engeller. Ancak, tüm görüntülerin ön yüklemeyi bitirdiğini programlı olarak algılamanın mümkün olmayacağına inanıyorum.
Görüntü verisini önceden yüklemenin en iyi yolu nedir? Belki daha kolay bir seçeneği kaçırdım.
Görüş ortalamanız * hepsi olmalı * SVG? Değilse, görüntüleri HTML olarak önceden yükleyebilir, ardından bunları görselin üzerine yerleştirebilirsiniz ... Gerektiğinde tam olarak entegre edilmeleri gerekiyorsa çalışmaz, örn. klip yollarını uygulamak. – nrabinowitz
Evet, sorularımda da belirttiğim gibi, hepsi SVG olsaydı çok isterdim. (aksi takdirde, görüntü katmanım aralarında katmanlanacak şekilde iki SVG katmanında vizimi bölmemi gerektirecektir) –