解決ajax載入的頁面js無法找到的問題

來源:互聯網
上載者:User

有一個大頁面叫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("已經存在");
     }
   
 }
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.