最近在优化调整cms程序时,有一功能:选择不同的类型后,通过ajax获取不同类型的属性,在页面某个div设置innerHTML中显示,其中获取的属性中有js代码,需要运行js代码。经过查询后处理如下。
执行innerHTML里面的JS代码
document.getElementById("param").innerHTML = res.data;
var scripts = document.getElementById("param").getElementsByTagName("script");
for(var i=0;i<scripts.length;i++){
//一段一段执行script
eval(scripts[i].innerHTML);
}
原理是通过ajax获取html代码,再查找html代码中的script,最后用eval来执行。