【发布时间】:2020-02-07 11:21:48
【问题描述】:
我想渲染一个包含 html 和 javascript 的字符串。 Javascript 必须像 jQuerys $.load() 那样被解释 - 但没有 jQuery。
这是我尝试做的一个例子: https://jsfiddle.net/4tfcypq6/
Vue.js 被用作前端框架
【问题讨论】:
-
这真的有必要吗? “评估是邪恶的”。考虑解释你的情况。
-
不幸的是,这是必要的。我得到一个外部字符串,我想将其显示为页面。但是 Javascript 是其中的一部分,并且是正确显示所有功能所必需的。
-
这个问题很有可能以另一种方式解决,因为评估任意字符串是无效的,可能是不安全的,应该是最后的手段,还取决于字符串的来源。正如已删除的评论中所指出的,它与 Vue 的共同点尚不清楚,这肯定不是 Vue 通常的使用方式。请考虑详细解释您的案例,这就是在 SO stackoverflow.com/help/how-to-ask 上提出的好问题。一个好的答案会解释在您的情况下应该如何做,并且可能会提出更好的方法来做到这一点。
-
stackoverflow.com/questions/13390588/… 和其他几个类似问题的可能重复项。 TL;DR:在使用 innerHTML 创建节点后,您需要将虚拟
script节点替换为新创建的document.createElement("script")。
标签: javascript html templates