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


Posted in Javascript onJuly 01, 2006

最近在脑子一直在想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 相关文章推荐
Javascript读取cookie函数代码
Oct 16 Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
Jun 04 Javascript
vue.js实现备忘录功能的方法
Jul 10 Javascript
LayerClose弹窗关闭刷新方法
Aug 17 Javascript
浅谈对于react-thunk中间件的简单理解
May 01 Javascript
了解JavaScript中的选择器
May 24 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
微信小程序-可移动菜单的实现过程详解
Jun 24 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
Feb 27 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
Jul 19 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 Javascript
DEFER怎么用?
Jul 01 #Javascript
让插入到 innerHTML 中的 script 跑起来的实现代码
Jul 01 #Javascript
在网页中控制wmplayer播放器
Jul 01 #Javascript
Javascript的IE和Firefox兼容性汇编
Jul 01 #Javascript
提高代码性能技巧谈—以创建千行表格为例
Jul 01 #Javascript
对textarea框的代码调试,而且功能上使用非常方便,酷
Jun 30 #Javascript
列表内容的选择
Jun 30 #Javascript
You might like
PHP文件读取功能的应用实例
2015/05/08 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
php自动载入类用法实例分析
2016/06/24 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
python中while和for的区别总结
2019/06/28 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
儿科主治医生个人求职信
2013/09/23 职场文书
高一生物教学反思
2014/01/17 职场文书
《白鹅》教学反思
2014/04/13 职场文书
政府法律服务方案
2014/06/14 职场文书
教师学期个人总结
2015/02/11 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
情况说明书怎么写
2015/10/08 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
OpenCV 图像梯度的实现方法
2021/07/25 Python