日期:2014-05-16 浏览次数:20390 次
var jsDocText = document.createTextNode(jsText);
var jsDoc = document.createElement("script");
jsDoc.appendChild(jsDocText);
document.getElementsByTagName("head")[0].appendChild(jsDoc);
var s = 'function fn(s) { alert(s); }';
eval(s);
fn('test');
------解决方案--------------------
像楼主的代码,直接append到<script>标签的js代码串会直接运行的吧,怎么还要eval,难道ie下不行?我没测ie,chrome/ff都可以的。
看在jsbin测试的结果
http://jsbin.com/unuvev/edit#source
------解决方案--------------------
var fun="function(){alert(123);}";
var f1=(new Function("alert(123)"))(),f2=(new Function("return "+fun))();
f2();
------解决方案--------------------