Czy można przesłuchać zdarzenia ładowania <image>
w SVG? Jeśli tak, jak to zrobić?Czy można przesłuchać ładowanie obrazu w SVG?
Odpowiedz
Tak, jest to możliwe.
W znacznikach:
<image xlink:href="example.png" width="10" height="10"
onload="alert('loaded')"/>
Zobacz jsfiddle.
W skrypcie:
<script>
var img = document.createElementNS("http://www.w3.org/2000/svg", "image");
img.addEventListener('load', function() { alert('loaded'); });
// or alternatively:
// img.onload = function() { alert('loaded'); }
img.width.baseVal.value = 100;
img.height.baseVal.value = 100;
img.href.baseVal = "example.png";
</script>
Zobacz jsfiddle.
Nie mogę tego zrobić, ani przy użyciu znaczników, ani skryptów; czy jesteś w stanie podać przykład? – Richard
http://www.w3.org/TR/SVG/interact.html#SVGEvents, czy próbowałeś odwołać się do atrybutu externalResourcesRequired, jak wspomniano o linku? – neo
@neo: atrybut externalResourcesRequired nie jest tutaj wymagany. –
Okazało się, że to nie będzie działać dla SVG obiektu utworzonego przy użyciu D3, ale odpowiedź tutaj pracował wielki:
How can I display a placeholder image in my SVG until the real image is loaded?
Na przykład to działało:
var img = innerG.append("image")
.attr('onload', function() {
console.log('loaded');
})
.attr("xlink:href", src)
.attr("width", size)
.attr("height", size);
Ale tego nie zrobił praca:
var img = innerG.append("image")
.attr("xlink:href", src)
.attr("width", size)
.attr("height", size);
img.addEventListener('load', function() { console.log('loaded'); });
Ale nazwa atrybutu ma postać HTML: 'onload'. Ale nazwa zdarzenia jest inna: 'SVGLoad' nie' load'. Zobacz http://www.w3.org/TR/SVG/interact.html#LoadEvent – mems
- 1. Ładowanie i wyświetlanie svg
- 2. Wykryj ładowanie obrazu
- 3. SVG: rozciągania obrazu
- 4. centrowania obrazu z SVG
- 5. Nie można rozciągnąć obrazu w tle svg, proporcje zostaną zachowane
- 6. Zoptymalizowane ładowanie obrazu w UIScrollView
- 7. Ładowanie obrazu do FILESTREAM
- 8. Ponowne ładowanie obrazu w wpf
- 9. Dynamicznie zmieniaj kolor obrazu SVG w Androidzie
- 10. Ładowanie SVG do SVGWeb dynamicznie z JQuery
- 11. Ładowanie obrazu synchronicznie z Glide
- 12. Safari nie renderuje obrazu w zagnieżdżonym SVG
- 13. Najlepszy sposób na wstępne ładowanie znaczników obrazów SVG?
- 14. Ładowanie obrazu z pliku w wx.Panel
- 15. Jak mogę przesłuchać paletę komponentów Delphi?
- 16. Generowanie obrazu SVG przy użyciu svg danych surowych w imagick php
- 17. SVG jako granicy obrazu na ekranach Retina
- 18. Czy można importować kształty svg w d3.js?
- 19. SVG dane obrazu nie działa na Firefox
- 20. Auto szerokość i wysokość dla obrazu SVG
- 21. Separator trójkątów SVG z tłem obrazu
- 22. HTML SVG - czy można zaimportować <svg> do programu Adobe Illustrator w celu modyfikacji?
- 23. Czy można rozciągnąć imageOverlay w ulotce?
- 24. Zapisywanie i ładowanie obrazu z localStorage
- 25. Wyświetl ładowanie obrazu podczas posta z ajaxem
- 26. Otwieranie SVG w przeglądarce renderuje kod XML zamiast obrazu
- 27. Ładowanie/Tworzenie obrazu w SharpDX w programie .NET
- 28. utwórz obraz SVG z osadzonym łańcuchem base64 z innego obrazu svg z elementami
- 29. Ładowanie obrazu zakodowanego w Base64 w Cocos2d-x
- 30. Jak wyśrodkować i przeskalować pliki SVG w innym pliku SVG
Czy "prawdziwy" oznacza to samo co "możliwy"? – JJJ
Tak, rzeczywisty == możliwy – Rustam
A przez masz na myśli ? –
JJJ