·等级考试 ·水平考试 ·语言编程 ·IT技术 ·网站建设 ·信息安全 ·办公自动化
广告服务
联系方式
加入收藏夹
设置首页
栏目导航: 您现在的位置: 才智教育_IT资源站 >> 网站建设 >> CSS-HTML >> 文章正文
让innerHTML中的script脚本执行起来
作者:网站组    文章来源:校资料室    点击数:    更新时间:2008-9-27

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




  • 上一篇文章:

  • 下一篇文章:


  • 才智计算机教育资源站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何学习建议。
    在百度中搜索让innerHTML中的script脚本执行起来的相关内容]   [在狗狗中搜索让innerHTML中的script脚本执行起来的相关内容]
    关于才智教育 - 广告服务 - 联系方式 - 加入收藏夹 - 设置首页 - 违法不良信息举报中心 - 北京网络行业协会 -友情连接 -
    Copyright © 2005-2008 Ahczedu.com Inc. All rights reserved. 才智科技发展有限公司 版权所有
    ICP备案号:皖ICP备07003070号

    cncz@qq.vip.com 热线电话: 015905520789