让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 编程引入命名空间的方法
Jun 29 Javascript
慎用 somefunction.prototype 分析
Jun 02 Javascript
JavaScript实现GriwView单列全选(自写代码)
May 13 Javascript
javascript-简单的计算器实现步骤分解(附图)
May 30 Javascript
Checbox的操作含已选、未选及判断代码
Nov 07 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
Feb 26 Javascript
JS实现DIV容器赋值的方法
Dec 14 Javascript
jQuery学习笔记之入门
Dec 14 Javascript
zTree树形插件异步加载方法详解
Jun 14 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
Jan 16 Javascript
Vue组件创建和传值的方法
Aug 17 Javascript
angular将html代码输出为内容的实例
Sep 30 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
使用数据库保存session的方法
2006/10/09 PHP
php 404错误页面实现代码
2009/06/22 PHP
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
php实现的mongodb操作类
2015/05/28 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
JS实现二维数组横纵列转置的方法
2018/04/17 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
初学node.js中实现删除用户路由
2019/05/27 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
2019/08/15 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
Python生成随机验证码的两种方法
2015/12/22 Python
python使用fork实现守护进程的方法
2017/11/16 Python
你真的了解Python的random模块吗?
2017/12/12 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
大学毕业生个人自荐信范文
2014/01/08 职场文书
安全责任书范本
2014/04/15 职场文书
婚内分居协议书范文
2014/11/26 职场文书
优秀团队申报材料
2014/12/26 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python