我认为这有点不寻常,但这就是我的意思。 我有一个生成html + js页面的.net应用程序。 我有一个名为 Unit 的东西,它是一种不同html元素的汇编,并且有onlaod和onunload上的人工事件。
function DisplayableUnit(content, onload_js, onunload_js)
{
this.onload_js = onload_js; //different functions calls like "f1(); f2();"
this.onunload_js = onunload_js;
this.content = content; //string of html tags
}
function loadUnitTo(elem_id, unit)
{
var elem = document.getElementById(elem_id);
if (elem)
elem.innerHTML = unit.content;
if (unit.onload_js)
;//how to execute it?
}
很多网站都说eval是坏的,不安全的东西。但这是唯一的选择吗? 我需要纯粹的JS解决方案,没有任何第三方的东西。
答案 0 :(得分:2)
你可以像这样的函数执行它:
var theInstructions = "alert('Hello World'); var x = 100",
F=new Function (theInstructions);
return(F());
从this stackoverflow线程复制;)