Установить <object>contentDocument из другого DOM - PullRequest
0 голосов
/ 17 января 2010

Мне нужно вставить DOM, который является полным документом SVG, в элемент <object>. ТАК вот мой код:

var svgDom   = (new DOMParser()).parseFromString(streamedFile,'image/svg+xml');
var pagePics = document.querySelectorAll('#currentFiles figure object');

for (var i=0; i<pagePics.length; i++){
    pagePics[i].contentDocument = svgDom.document;
}

Но это не работает. Инспектор DOM не показывает свойство contentDocument <object> после выполнения этого кода.

Можно использовать jQuery, если это облегчает задачу. Что я делаю не так?

1 Ответ

1 голос
/ 17 января 2010

contentDocument является атрибутом только для чтения. Вы не можете переместить Document s из одного контекста в другой.

Обычно вам нужно importNode содержимое из одного документа в другой. Однако это бесполезно, если у вас есть разные типы документов, такие как SVG и HTML.

Для загрузки SVG из строковой строки в iframe или объект, я думаю, у вас не будет другого выбора, кроме как создать элемент с data: URL, например. <object data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E...">.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...