有一個大頁面叫A裡面有b和c,b負責菜單,c負責顯示內容。每點一次菜單,c裡的內容要換一下,但是有些js是在c內容換進來的頁面裡才有用,所以,我本想寫在c1,c2,c3,c4裡的,可是寫在裡面找不到,後來只能寫在A裡. 但是這樣寫的話,如果有些菜單很少用到的話,A頁面就會很龐大,因為裡面加滿了引入的js.試了n多辦法,都不行,後來想要不在點擊菜單的時候把需要的js載入到頁面裡,但是只是放在c1,c2,c3,c4...裡還是找不到,後來就動態放入A的head裡了,然後可以找到了。這個問題就先這樣辦吧。
function changeRight(url,updateDiv) {
loadJs(url)
var url = url;
var pars = "";
var myAjax = new Ajax.Updater(updateDiv, url, { method: 'get', parameters: pars});
}
function loadJs(url){
var tmp = url.split("/");
var tmpNode;
for(var i=1;i<tmp.length;i++){
if(i==3){
tmpNode=tmp[3]
}
// alert(tmpNode);
var num = tmpNode.indexOf(".do");
tmpNode = tmpNode.substring(0,num);
// alert(tmpNode);
var oHead = document.getElementsByTagName('HEAD').item(0);
var oScript= document.createElement("script");
oScript.type = "text/javascript";
oScript.src="../../js/"+tmpNode+".js";
var tmpvalue = document.getElementById("flagtmp").value;
// alert(tmpvalue);
if(tmpvalue.indexOf(tmpNode)== -1){
document.getElementById("flagtmp").value = document.getElementById("flagtmp").value +"-"+ tmpNode;
//alert("不存在!"+document.getElementById("flagtmp").value+"------"+tmpvalue.indexOf(tmpNode));
oHead.appendChild(oScript);
}
else{
//alert("已經存在");
}
}
}