
让innerHTML中的script脚本执行起来
发布时间:2006-06-06 19:35:16 来源:苹果生活 网友评论 0 条在我们使用AJAX的时候,经常要用到innetHTML来更新对象的内容,但是对于更新的<script>脚本程序浏览器却无法执行,我前面AJAX初学常遇问题解答这篇文章曾提到过这个问题,它不执行的原因是:<script>标签只在浏览器第一次文档加载中被解析,下面介绍怎么样让<script>跑起来。
分析问题
既然<script>只在文档加载中才被解析,那么我就得调用document.write()方法来重新加载一次,但是这样的话原来页面的内容也会被覆盖掉了,所以不得不用IFRAME把document.write()装载起来。
解决问题
var jsCode = 需要执行的JS代码
var jsIframe = document.createElement("iframe"); jsIframe.style.display = "none";//把jsIframe隐藏起来
document.body.appendChild(jsIframe); with(window.frames[window.frames.length - 1]){ document.open(); document.write(jsCode); //执行JS代码
document.close(); } document.body.removeChild(jsIframe);//执行后删除iframe对象
这里需要注意一个问题,因为jsCode是在iframe中运行,所以所有的页面元素都在iframe父对象之下,要调用页面元素对象必须得用 parent.obj 这种方式。
另外一种方法:
用dom动态创建一个script对象
var script=document.createElement("script");
script.src="XXXX.js";
document.body.appendChild(script);
推荐阅讯
- HTML网页制作技巧汇编
- DHTML轮显效果
- 如何实现HTML页面地址栏参数传递与获取
- HTML语言剖析(4)
- HTML小技巧的一些小技巧
- 让innerHTML中的script脚本执行起来
- XHTML+CSS:调用样式表
- XHTML+CSS:调用样式表
- HTML元素的默认CSS设置介绍
- 解密.htm.html.shtm.shtml的区别与联系
阅读排行
- 1.XHTML+CSS:调用样式表
- 2.HTML网页制作技巧汇编
- 3.网页特效:在任何位置显示html菜单
- 4.HTML小技巧的一些小技巧
- 5.想得出来?!用HTML给Flash加链接
- 6.利用HTML优化加快网页速度
- 7.采用XHTML和CSS设计可重用可换肤网页
- 8.偷窥HTML与XML之间的秘密
- 9.用DHTML中的Popup Object跨框架显示菜单
- 10.HTML语言剖析(1)
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
