- 主题:请问如何执行动态载入的javascript代码?
elem.innerHTML=html;
其中html里面包含了一系列的javascript和html代码
如何能动态执行html里面的javascript呢?
就好像单独用一个浏览器打开html的内容一样,谢谢。
--
FROM 220.231.1.*
ie的话,在script标签上面加上defer可以解决,ff就不行了,所以通用的做法是,在elem上getElementsByTagName("script"),然后遍历eval一遍里面的innerHTML...
【 在 MVC (mvc) 的大作中提到: 】
: elem.innerHTML=html;
: 其中html里面包含了一系列的javascript和html代码
: 如何能动态执行html里面的javascript呢?
: ...................
--
FROM 207.46.92.*
function set_inner_html(obj,html){
var dummy='<span style="display:none"> </span>';
html=html.replace('<script',dummy+'<script');
html=html.replace('<SCRIPT',dummy+'<SCRIPT');
obj.innerHTML=html;
eval_inner_js(obj);
}
function eval_inner_js(obj){
var scripts=obj.getElementsByTagName('script');
for(var i=0;i<scripts.length;i++){
if(scripts[i].src){
var script=document.createElement('script');
script.type='text/javascript';
script.src=scripts[i].src;
document.body.appendChild(script);
}else{
try{
eval_global(scripts[i].innerHTML);
}catch(e){}
}
}
}
function eval_global(js){
var obj=document.createElement('script');
obj.type='text/javascript';
try{obj.innerHTML=js;
}catch(e){obj.text=js;
}
document.body.appendChild(obj);
}
【 在 MVC (mvc) 的大作中提到: 】
: elem.innerHTML=html;
: 其中html里面包含了一系列的javascript和html代码
: 如何能动态执行html里面的javascript呢?
: ...................
--
FROM 125.120.154.*