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

浅蓝天空的微笑

浅蓝天空的微笑

2016-02-19 12:26

下面图老师小编跟大家分享一个简单易学的ajax中指定innerHTML时如何应用其中的SCRIPT的研究教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!
其实这篇文章与ajax无关,但因为是ajax项目中遇到的问题.所以.... innerHTML赋值操作时,其中的script并不会被运行,可以使用正则表达式提取script,然后eval(script);


示例代码 

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:scriptload1();/script";
}

function load3(){
var Content= document.getElementById("Content"); 

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

//之前如果没有有效的Text标签,IE就会出错.但FireFox可以正常运行,神啊,救救IE吧
var str="aJavascript必须在有效的Text标签之后/ascript 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;imatchArray.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之,方可正常运行

也许谁还有更好的办法,please mail to me blackant@tt88.cn


展开更多 50%)
分享

猜你喜欢

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

Web开发
ajax中指定innerHTML时如何应用其中的SCRIPT的研究

innerHTML应用

Web开发
innerHTML应用

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SCRIPT:使用Windows Script 关闭和打开指定程序

电脑网络
SCRIPT:使用Windows Script 关闭和打开指定程序

AJAX 用户注册时的应用实例

Web开发
AJAX 用户注册时的应用实例

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

AJAX案例研究之详细剖析Gmail应用

Web开发
AJAX案例研究之详细剖析Gmail应用

让插入到 innerHTML 中的 script 跑起来的实现代码

Web开发
让插入到 innerHTML 中的 script 跑起来的实现代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

nss3.dll文件丢失怎么办?

nss3.dll文件丢失怎么办?

Ajax 无刷新在注册用户名时的应用的代码

Ajax 无刷新在注册用户名时的应用的代码
下拉加载更多内容 ↓