基本上,我想这样做:
const html = "HTML source code";
HTML源代码可能包含新行字符,标签,引号......任何有效的HTML。然后使用html
变量的值来使用JavaScript创建有效的html页面:
document.documentElement.innerHTML = unescape(html);
我尝试过几样的事情,比如替换引号(单引号或双引号),替换新的行字符并将html包装在``中以制作模板文字......但似乎都失败了(某些网页的源代码)。
E.g:
//fails
const html = `HTML here`;
document.documentElement.innerHTML = html;
..和
答案 0 :(得分:0)
如果我理解你的问题,这应该会帮助你:
const html = "<p><h2>I'm a headline!</h2>I'm some text!</p>";
document.body.innerHTML = html;
如果您的HTML代码使用引号(对于ID,类等),您可以使用单引号:
const html = '<div id="someDiv"><img src="https://en.wiktionary.org/wiki/tree"></div>';
document.body.innerHTML = html;
如果你的代码有e。 G。新行,使用\n
转义它们或只删除它们,以便您的字符串适合一行:
const html = "<p>\n<h2>Headline!</h2\n</p>";
document.body.innerHTML = html;
注意:\n
!= <br>
!
如果要通过添加两个或更多变量将代码字符串放在一起,请执行以下操作:
const htmlPart1 = "<p><h2>";
const htmlPart2 = "Heading!</h2></p>";
document.body.innerHTML = htmlPart1 + htmlPart2;
如果你想插入一个包含一些JS的script
标签,我恐怕你不能这样做。在写这个答案的时候我自己尝试了很多,而且我找不到任何解决方案。
如果我错了,请纠正我。