Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串运行HTML和JavaScript_Javascript_Html_Templates - Fatal编程技术网

从字符串运行HTML和JavaScript

从字符串运行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=(

我想呈现一个包含html和javascript的字符串。Javascript必须像jQuerys
$一样进行解释。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
节点。