登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

... ...

 
 
 

日志

 
 

ajax中指定innerHTML时如何应用其中的SCRIPT  

2008-07-14 22:46:11|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

<html>

<head>

<script type="text/javascript">

<!--

function load1(){

var Content= document.getElementById("Content");

alert("load1");

}

function load2(){

var Content= document.getElementById("Content");

Content.innerHTML="load2:<script>load1();<\/script>";

}

function load3(){

var Content= document.getElementById("Content");

//为什么要Javascript必须在有效的Text标签之后,又要谈到JS在IE和FireFox中的区别了.在script脚本块

//之前如果没有有效的Text标签,IE就会出错.但FireFox可以正常运行,神啊,救救IE吧

var str="<a>Javascript必须在有效的Text标签之后</a><script type=\"text/javascript\">load1();<\/script>";

Content.innerHTML=str;

var regExp=/<script.*>(.*)<\/script>/gi;

if(regExp.test(Content.innerHTML)){

eval(RegExp.$1);

}

////以下代码是为了匹配多个脚本块而设置的,但是非常不幸的是不能运用在IE中

////只能运行于FireFox,因为够用了,所以没有写下去有兴趣的可以完成它,偶JS没学好呀

//var matchArray=str.match(regExp);

//if(matchArray){

//    for(var i=0;i<matchArray.length;i++){

//        if(regExp.test(matchArray[i])){

//            alert(RegExp.$1);

//        }

//        else{

//          alert(matchArray[i]);

//        }

//    }

//}

}

//-->

</script>

</head>

<body>

<div id="Content">

</div>

<input type="button" onclick="javascript:load1();" value="load1"/>

<input type="button" onclick="javascript:load2();" value="load2"/>

<input type="button" onclick="javascript:load3();" value="load3"/>

</body>

</html>

 

[说明]

load1

当然可以正常运行

load2中

Content.innerHTML赋值时,其中的Script并不会被运行

load3中

取得innerHTML中的脚本块出来,并eval之,方可正常运行

  评论这张
 
阅读(646)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018