源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-08-17 11:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:让innerHTML的脚本也可以运行起来
最近在脑子一直在想pjblog重构的问题.当然重构前,必须把所有需要做的东西想清楚.其中想到一个js改进的内容,需要innerHTML后的脚本也可以运行.但是尝试了一下.发现IE下直接innerHTML的脚本无法执行. 尝试了几次发现,插入的HTML里,<script>前面有其他对象,并且script 设置了 defer , 这样的脚本innerHTML被IE执行了. ,但是这招对于firefox不灵~~  后来找了一些资料发现 firefox 把对象重新 append 或者 insertBefore 一次就可以执行里面的脚本了.  程序代码 var fillHTML = function (el,HTMLString) {  if (!el) return; if (window.ActiveXObject) { //For IE el.innerHTML = "<img style='display:none'/>" + HTMLString.replace(/<script([^>]*)>/ig, '<script$1 defer>'); el.removeChild(el.firstChild) } else { //For Mozilla,Opare var nSibling = el.nextSibling; var pNode = el.parentNode; pNode.removeChild(el); el.innerHTML = HTMLString; pNode.insertBefore(el,nSibling) } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部