Courage is grace under pressure

用我一辈子去追求

导航

<2006年9月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

  • 随笔 - 17
  • 文章 - 1
  • 评论 - 2
  • 引用 - 0

常用链接

留言簿(43)

随笔档案

文章档案

相册

XML的Blog

搜索

  •  

最新评论

阅读排行榜

评论排行榜

让innerHTML的标签执行起来

在我们使用AJAX的时候,经常要用到innetHTML来更新对象的内容,但是对于更新的<script>脚本程序浏览器却无法执行,它不执行的原因是:<s­cript>标签只在浏览器第一次文档加载中被解析,下面介绍怎么样让<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();

}

jsIframe.outerHTML="";//执行后删除iframe对象

这里需要注意一个问题,因为jsCode是在iframe中运行,所以所有的页面元素都在iframe父对象之下,要调用页面元素对象必须得用 parent.obj 这种方式。

posted on 2006-09-06 17:58 xyh 阅读(378) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
设为首页 加入收藏 与我联系 您的浏览器: