У меня есть расширение, которое я использую конфиденциально, что иногда нужно превратить документ svg в html-документ.Правильный способ создания HTML-страницы из пустого документа SVG
Если я обнаруживаю, что страница не содержит элемент тела, и что location.href
содержит текст «.svg» (документ является SVG документ) Стараюсь следующие
document.removeChild(document.firstChild);
var body = document.createElement("body")
var html = document.createElement("html");
html.appendChild(document.createElement("head"));
html.appendChild(body);
document.appendChild(html);
Который, кажется, работает , Осматривая страница показывает стандартный документ
<html>
<head></head>
<body></body>
</html>
Но когда я пытаюсь получить доступ к document.body.style
я получаю ошибку пустого Referance. document.body
равно null
Fair достаточно, я затем попытаться установить document.body
элемент непосредственно
// leading on from first snippet
document.body = body; // line 8712
и я получаю Uncaught TypeError: Failed to set the 'body' property on 'Document': The provided value is not of type 'HTMLElement'. at contentscript.js:8712
Я просто не могу показаться, чтобы создать годную к употреблению HTML документ из пустого документа. Возможно ли это?
Мне действительно нужна страница, так как перенаправление удалит домен и связанную с ним сессию.
Вам нужно полностью уничтожить документ в пользу нового или вы можете просто создать новое содержимое для 'body'? –
@ScottMarcus Мне нужно избавиться от содержимого svg. Это то, что начинается с страницы «
@ aw04 Вы начали с документа svg? т.е. адресная строка имеет что-то вроде «http://someDomain.com/someImage.svg» – Blindman67