作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 04:09:15 阅读 我要评论

最近在脑子一直在想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) } }

  推荐阅读

  JavaScript TO HTML 转换

<html><head><title>JavaScript TO HTML 转换</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link href="style.css" rel="stylesheet" type="text/css" /></head> <body><div cl>>>详细阅读


本文标题:让innerHTML的脚本也可以运行起来

地址:http://www.17bianji.com/kaifa2/JS/31722.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)