关于DEFER,载入HTML段中如果有脚本,如何运行?

fancuixia 2003-05-09 05:13:04
例如:

<HTML>
<HEAD>
<TITLE> DEFER </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var newPage = new Array();
newPage[0] = '<div style="background:silver; width:200px; height:100px; margin:20px;"></div>';
newPage[1] = '<div style="background:blue; width:150px; height:200px; margin:10px;"><SCRIPT LANGUAGE="JavaScript">function doSomething(){;}</SCRIPT><br><a href="#" >Hello</a></div>';
//-->
</SCRIPT>
</HEAD>

<BODY>
Here laod page:<br>
<span id=sp1></span>
<button onclick="sp1.innerHTML=newPage[0];">p1</button><br>
<button onclick="sp1.innerHTML=''; sp1.innerHTML = newPage[1];alert(sp1.outerHTML);">p1</button><br>
</BODY>
</HTML>

此时sp1中已经没有<script>段了,即如果执行doSomething()会报缺少对象。我想可能innerHTML能够将非内嵌的教本过滤掉。

现在我需要在客户端运行过程中动态加载某些内容,比如在一个DIV中, 动态加入不同HTML文件的整个代码,且正常显示(原来是TABLE,现在也是TABLE),但发现原来HTML文件的客户端脚本都不可以运行了! 仔细分析后发现使用innerHTML 或 insertAdjecentHTML都会过滤脚本,使用innerText则根本不能显示效果。

望高手指点!
...全文
82 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wghok2002 2003-08-20
  • 打赏
  • 举报
回复
可是,加上defer,调用doSomething()还是报错啊,缺少对象?????
zhjzh_zjz 2003-05-10
  • 打赏
  • 举报
回复
defer表示加载该代码的时候,对代码进行解析。如果不加这个,他就当成文本了,不解析,所以没反应!
zhjzh_zjz 2003-05-10
  • 打赏
  • 举报
回复
newPage[1] = '<div style="background:blue; width:150px; height:200px; margin:10px;"><SCRIPT LANGUAGE="JavaScript">function doSomething(){;}</SCRIPT><br><a href="#" >Hello</a></div>';

==>

newPage[1] = '<div style="background:blue; width:150px; height:200px; margin:10px;"><SCRIPT LANGUAGE="JavaScript" defer=true>function doSomething(){;}</SCRIPT><br><a href="#" >Hello</a></div>';
imafool 2003-05-10
  • 打赏
  • 举报
回复
mark it .

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧