У меня небольшая проблема с SVG в теге embed. Я обновляю источник тега embed с SVG-файлом с помощью javascript. Затем я должен обновить атрибут viewbox, чтобы правильно изменить SVG.Обновить DOM после изменений
Проблема в том, что тег SVG недоступен, поскольку выполнение javascript выполняется слишком быстро.
Пример:
//Creation and insertion by JQuery
var EmbedTag = $("<embed id='zoomSVG' src=idSVG + ".svg' type='image/svg+xml' width='500px' height='500px' />").appendTo(zoomGalleryHisto);
//This doesn't work : svgDoc is null
//SVG document recovery
var svgDoc = document.getElementById('zoomSVG').getSVGDocument();
This work :
setTimeout(function(){
//SVG document recovery
var svgDoc = document.getElementById('zoomSVG').getSVGDocument();
},100);
Я хотел бы не использовать функцию SetTimeout, так как значение тайм-аута зависит от аппаратного обеспечения. Иногда 100 мс работает нормально, но я должен найти универсальное решение.
После установки вставки тегов, могу ли я перезагрузить DOM с помощью javascript? Является ли существующее событие для вставки тега при загрузке встроенного объекта?
Спасибо за вашу помощь
Это то, что я делаю, но OnLoad событие не улавливает с IE8 – user1069516
, как упоминалось выше, Роберт Лонгсон, IE8 не поддерживает SVG, так ваша проблема с IE8 и SVG, какие это не вопрос. – philipp