解决ajax加载的页面js无法找到的问题

有一个大页面叫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("已经存在");
     }
   
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值