首页 > web前端 > js教程 > 正文

让innerHTML的脚本也可以运行起来_javascript技巧

WBOY
发布: 2016-05-16 19:28:26
原创
975 人浏览过

最近在脑子一直在想pjblog重构的问题.当然重构前,必须把所有需要做的东西想清楚.其中想到一个js改进的内容,需要innerHTML后的脚本也可以运行.但是尝试了一下.发现IE下直接innerHTML的脚本无法执行. 尝试了几次发现,插入的HTML里,<script>前面有其他对象,并且script 设置了 defer , 这样的脚本innerHTML被IE执行了. ,但是这招对于firefox不灵~~ 后来找了一些资料发现 firefox 把对象重新 append 或者 insertBefore 一次就可以执行里面的脚本了. <br><br> 程序代码 <BR>var fillHTML = function (el,HTMLString) { <BR> if (!el) return; <BR>if (window.ActiveXObject) { //For IE <BR>el.innerHTML = "<img style="max-width:90%"/ alt="让innerHTML的脚本也可以运行起来_javascript技巧" >" + HTMLString.replace(/<script([^>]*)>/ig, '<script$1 defer>'); <BR>el.removeChild(el.firstChild) <BR>} else { //For Mozilla,Opare <BR>var nSibling = el.nextSibling; <BR>var pNode = el.parentNode; <BR>pNode.removeChild(el); <BR>el.innerHTML = HTMLString; <BR>pNode.insertBefore(el,nSibling) <BR>} <BR>} </script>

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板