让innerHTML中的script脚本执行起来
来源:互联网 发布:网络部署 编辑:程序博客网 时间:2024/05/18 03:14
在我们使用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脚本执行起来
- 让插入到 innerHTML 中的 script 跑起来
- 让插入到 innerHTML 中的 script 跑起来
- 让插入到 innerHTML 中的 script 跑起来
- 让插入到 innerHTML 中的 script 跑起来
- 让插入到innerHTML中的script跑起来
- 让插入到 innerHTML 中的 script 跑起来
- 让插入到 innerHTML 中的 script 跑起来
- 让插入到 innerHTML 中的 script 跑起来的代码
- 让插入到 innerHTML 中的 script 跑起来的实现代码
- 让插入到innerHTML中的script跑起来(转http://blog.csdn.net/lee576/archive/2008/11/20/3341146.aspx)
- 让innerHTML的js脚本运行起来 总结
- innerHTML中script脚本不执行的问题
- 让Ajax返回的innerHTML中的Javascript代码运行起来
- 用正则表达式逐个提取ajax innerHTML中的script标签并执行
- 执行innerHTML内的脚本
- 运行插入到innerHTML中的script
- 利用ASP.NET做的网站
- crc校检和海明码校检
- jspSmartUpload 实现上传下载
- SliverLight的官方介绍
- 用java启动记事本程序,并输入内容
- 让innerHTML中的script脚本执行起来
- 什么是Flex
- 英国公布和平国家排名 日本第五中国排名第60
- ubuntu装不上!
- java中“机器人
- 全新的信息化理念(勤哲Excel服务器)
- wicket框架的hibernate工具DataBinder文档试译之一--Models. Inc
- 韩国语学习
- 学编程的人不能不看的好文章