如何使用javascript使用变量更改注入的HTML元素?

时间:2019-06-11 19:56:24

标签: javascript html innerhtml getelementbyid html-injections

问题:注入包含JavaScript的HTML的最佳做法是什么?

用于加载页面内容的脚本:

elmnt = document.getElementById("contentcontainer");
elmnt.innerHTML = this.responseText;

页面:

Welcome to our restaurant!
<div id="contentcontainer"></div>

响应文本:

<div>
The menu for today:
<script> Script to get API resonse menu(today); <script>
</div>

因此,我正在注入包含脚本的HTML。但是脚本没有执行。我应该如何在注入内更改变量HTML?

2 个答案:

答案 0 :(得分:0)

您可以使用“ Template Strings”并注入已经处理的HTML。

答案 1 :(得分:0)

我不明白问题是什么。只要变量为全局变量,并且您获得所需的内容,InnerHtml也应该可以正常工作。

这是我了解您想要的东西的一个例子。

let str = '<p><script>var test="this is a test"</script></p>'

document.getElementsByTagName("BODY")[0].innerHTML  =str;

console.log(test) // and here is the injected script variable result

要从url获取网站内容,您将必须使用jq getscript之类的库 我对你的理解正确吗?