国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

ajax中指定innerHTML時如何應用其中的SCRIPT的研究

2024-09-01 08:31:50
字體:
來源:轉載
供稿:網友

其實這篇文章與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:<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>
</div>
<input type="button" value="load1"/>
<input type="button" value="load2"/>
<input type="button" value="load3"/>
</body>
</html>



[說明]

load1

當然可以正常運行

load2中

Content.innerHTML賦值時,其中的Script并不會被運行

load3中

取得innerHTML中的腳本塊出來,并eval之,方可正常運行

也許誰還有更好的辦法,please mail to me blackant@tt88.cn


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖边县| 门源| 乌兰县| 和田县| 沁源县| 德钦县| 眉山市| 铅山县| 河间市| 绥棱县| 洮南市| 柯坪县| 布尔津县| 漾濞| 道真| 白山市| 方正县| 钟祥市| 呼玛县| 隆安县| 英吉沙县| 横山县| 藁城市| 海盐县| 汉寿县| 珠海市| 武义县| 商水县| 无棣县| 赞皇县| 开远市| 隆回县| 谢通门县| 阜新市| 镶黄旗| 邻水| 永济市| 元氏县| 甘孜县| 荃湾区| 榆树市|