不知道你从哪儿找到这么一段代码。
只能理解到这样的程度了.大概意思就是从画面中或者文档中查找名字或者为id为参数 n 中问号前面部分的对象。
当画面中有多个帧的时候,
参数 n 使用 <查找对象名>?<frame名> 的形式指定查找对象所在的帧.

解决方案 »

  1.   


    function MM_findObj(n, d) { //v4.01 
    var p,i,x;  
    if(!d) d=document; //如果d为false d=document
    if((p=n.indexOf("?"))>0&&parent.frames.length) { //如果n中含有?并且父窗口存在frame
      d=parent.frames[n.substring(p+1)].document; //截取?后面的字符串作为frame名查询
      n=n.substring(0,p);  //n截取p之前的字串
      } 
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i <d.forms.length;i++) x=d.forms[i][n]; //后面还递归真乱..大概是依次获取页面元素的意思吧
      for(i=0;!x&&d.layers&&i <d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
      if(!x && d.getElementById) x=d.getElementById(n); return x; 

      

  2.   

    HOHO.
    这段代码虽然短,
    其实包含对于不同浏览器的支持.
    我想应该是高手所为.