Я действительно искал несколько дней, но не смог найти решение:
У меня есть внешний SVG (800k), который мне нужно полностью загрузить перед вызовом следующей функции. Кто-то помог мне с кодом для загрузки SVG, но я не могу понять, как определить, когда SVG полностью загружен. (Я не использую jQuery). Мне нужна функция initialSvgSettings()
для запуска после полной загрузки SVG. Там, где он у меня есть сейчас, он просто запускается, когда SVG начинает загрузку, но не когда он завершается.
Это код, который я использую для загрузки SVG:
// LOAD SVG
var svgOverlay = viewer.svgOverlay();
var path = "images/elementosV6.svg";
function loadSVG(path, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(e) {
try {
if (xhr.readyState == 4 && xhr.status == 200) {
callback(xhr.responseXML.documentElement);
initialSvgSettings();
}
} catch (e) {
console.log(e);
}
};
xhr.open("GET", path, true);
xhr.overrideMimeType("text/xml");
xhr.responseType = "document";
xhr.send();
}
loadSVG(path, function(data) {
var g = data.getElementById("elements");
svgOverlay.node().appendChild(g);
}); // FIN LOAD SVG