让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 相关文章推荐
jquery1.83 之前所有与异步列队相关的模块详细介绍
Nov 13 Javascript
处理及遍历XML文档DOM元素属性及方法整理
Aug 23 Javascript
js通过location.search来获取页面传来的参数
Sep 11 Javascript
jQuery选择器全集详解
Nov 24 Javascript
jQuery中的siblings用法实例分析
Dec 24 Javascript
js 自带的 map() 方法全面了解
Aug 16 Javascript
Angular中使用$watch监听object属性值的变化(详解)
Apr 24 Javascript
JavaScript实现重力下落与弹性效果的方法分析
Dec 20 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
Jan 09 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 Javascript
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
Apr 03 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
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
常用的javascript function代码
2008/05/23 Javascript
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
Vue程序调试的方法
2019/06/17 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
详解anaconda安装步骤
2020/11/23 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
小学生演讲稿
2014/01/12 职场文书
平民服装店创业计划书
2014/01/17 职场文书
俄罗斯商务邀请函
2014/01/26 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
社区活动总结范文
2015/05/07 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
vue生命周期钩子函数以及触发时机
2022/04/26 Vue.js