处理ajax返回页面代码中的script

 
 
  
  1. // 类似innerHTML,但处理了text中的<script>脚本,并设置id的innerHTML值为去掉script后的html文本  
  2. // text为ajax调用返回的数据,id为要设置innerHTML的元素id 
  3. var setInnerHTML = function(text,id) {  
  4.     var temp_div=document.createElement("div");  
  5.     temp_div.innerHTML=text;  
  6.     var temp_scripts=temp_div.getElementsByTagName("script");  
  7.     for(var i=0;temp_scripts[i];i=i+1){  
  8.         var script_obj=document.createElement("script");  
  9.         script_obj.text = temp_scripts[i].innerText;  
  10.         document.getElementById(id).appendChild(script_obj);  
  11.     }  
  12.     var reg=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;  
  13.     var html_text=text.replace(reg,"");  
  14.     document.getElementById(id).innerHTML=html_text;  
  15. };