it技术指南:www.itedus.com
  • 信息订阅

IT指南

  • TNT五分钟问卷赢IPOD
  • 贝塔斯曼
  • 广告联盟
  • No pay, More gain!
  • 单价15元-网络广告平台
  • 注册阿里妈妈赚广告费
  • 首页
  • 新闻资讯
  • 网页制作
  • 软件使用
  • 操作系统
  • 软件编程
  • 网络编程
  • 图象处理
  • 网站欣赏
  • 数据库
  • 认证考试
  • 站长知识
正在浏览栏目导航:首页 > 网页制作 > 心得技巧 >

让innerHTML中的script脚本执行起来

时间:2007-08-26 17:59:31   来源:  作者:

在我们使用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);

关键字:
关闭此页
上一篇:教你如何在自己的主页上制作P2P网络电视
下一篇:使用雅虎实现免费站内搜索

相关文章

    无相关信息
本栏目推荐

排行榜

  • 1如何提高自己的编程水平
  • 2学习网页制作你应该了解的几点知识!
  • 3滚动字幕的制作 marquee
  • 4网页刷新方法
  • 5SEO:Sitemaps将使用统一标准
  • 6frameset 使用心得
  • 7HTML-加速、再加速
  • 8DIV与Table布局在大型网站的可用性比较

最新信息

  • 如何提高自己的编程水平
  • 学习网页制作你应该了解的几点知识!
  • 网页编程安全漏洞全接触
  • 巧妙实现很酷的动态背景文字
  • 搜索引擎技术核心揭密
  • 实现浏览器全屏窗口的几种方法
  • 为网页添加放大或缩小文字
  • 公司建站完全手册--网页色彩设计点滴
关于站点 - 广告服务 - 联系我们 - 返回顶部
Copyright © 2007 www.itedus.com . All rights reserved.QQ群:8814225
如果碰到相关技术问题可以联系我们,原创相关问题请与站长及时联系.鄂ICP备07005792号