从字符串运行HTML和JavaScript
我想呈现一个包含html和javascript的字符串。Javascript必须像jQuerys从字符串运行HTML和JavaScript,javascript,html,templates,Javascript,Html,Templates,我想呈现一个包含html和javascript的字符串。Javascript必须像jQuerys$一样进行解释。load()确实如此,但没有jQuery 下面是我尝试做的一个例子: Vue.js用作前端框架如下所示 var htmlJsString = ('<div id="home">Hi</div>'+eval('document.getElementById("home").innerHTML = "Welcome";')) var htmlJsString=(
$一样进行解释。load()
确实如此,但没有jQuery
下面是我尝试做的一个例子:
Vue.js用作前端框架如下所示
var htmlJsString = ('<div id="home">Hi</div>'+eval('document.getElementById("home").innerHTML = "Welcome";'))
var htmlJsString=('Hi'+eval('document.getElementById(“home”).innerHTML=“欢迎”))
请检查链接这真的有必要吗?“Eval是邪恶的”。考虑解释你的情况。不幸的是,这是必要的。我得到一个外部字符串,我想显示为一个页面。但是Javascript是它的一部分,并且是所有函数正确显示所必需的。这个问题很有可能以另一种方式解决,因为计算任意字符串是无效的,可能不安全的,并且应该是最后的手段,这还取决于字符串的来源。正如在删除的评论中所指出的,不清楚它与Vue有什么共同之处,这肯定不是Vue通常的使用方式。请仔细考虑一下你的情况,这就是好的问题是如何被问到的。一个好的答案将解释在你的情况下应该如何做,并可能建议更好的方法。可能重复的问题和其他一些类似的问题。TL;DR:使用innerHTML创建节点后,您需要用新创建的
document.createElement(“脚本”)
替换虚拟script
节点。