让innerHTML中的script脚本执行起来
时间:2007-02-17 来源:PHP爱好者
让innerHTML中的script脚本执行起来->>网页教学网(http://www.webjx.com)建站指南|网页制作|网页特效|Flash动画|网络编程|素材下载|教程下载|建站|HTML|CSS|JAVASCRIPT|ASP|PHP|JSP|ASP.NET|数据库 ★ 设为首页 ★ 收藏本站
★ 繁体中文 首 页 | 业界新闻 | 建站指南 | 网页制作 | 动画制作 | 网页特效 | 网络编程 | 书籍教程 | 网页素材 | 视频教程 | 教学论坛 当前位置: 首 页 >> 网页制作 >> HTML基础知识 >> 内容浏览 [ HTML ] [ FW ] [ DW ] [ FP ] [ JS ] [ XML ] [ CSS ] [ 图象 ] [ FLASH ] [ .NET ] [ ASP ] [ JSP ] [ PHP ] [ 数据库 ] 让innerHTML中的script脚本执行起来 http://www.webjx.com 更新日期:2006-06-07 07:57 网页教学网 在我们使用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);
php爱 好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
★ 繁体中文 首 页 | 业界新闻 | 建站指南 | 网页制作 | 动画制作 | 网页特效 | 网络编程 | 书籍教程 | 网页素材 | 视频教程 | 教学论坛 当前位置: 首 页 >> 网页制作 >> HTML基础知识 >> 内容浏览 [ HTML ] [ FW ] [ DW ] [ FP ] [ JS ] [ XML ] [ CSS ] [ 图象 ] [ FLASH ] [ .NET ] [ ASP ] [ JSP ] [ PHP ] [ 数据库 ] 让innerHTML中的script脚本执行起来 http://www.webjx.com 更新日期:2006-06-07 07:57 网页教学网 在我们使用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);
php爱 好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
相关阅读 更多 +