都是一样的控制,你可能通过document.frames集合挨个访问每个框架在1.htm里控制每个FRAME你可以用document.frams["frame1"]或document.frames["frame2"]
但是在FF里,为了兼容,最好使用document.getElementById("frame1").contentWindow每一个FRAME/IFRAME都有一个独立的window对象,其中的层次关系用top,parent,self来分开.
top表示当前window所在的页面的顶层框架,如果没有框架,只有一个页面,window == top == parent == selfself表示自身,跟window相等parent表示直接父层框架关于你的问题,只要4.htm所在的FRAME/IFRAME跟3.htm/5.htm所在的FRAME/IFRAME都处于一个页面内且不跨域,都能,即使跨域,我也能刷新它~~~

解决方案 »

  1.   

    matrixy,感谢你的回答,但是你还是只说明了同是frame或者同是iframe下的控制,iframe控制frame仍然没给出代码,我之前用的document.frames,document.getElementById也都只是在frame或者iframe里用的,没有在这里的这种情况,在iframe里控制parent所在的frameset里的另外一个frame并且我试过:
    在4.htm里:
    <input type="submit" name="submit" value="测试能否刷新5.htm"  onclick="parent.frame4.location.reload()" />
    <input type="submit" name="submit" value="测试能否刷新5.htm"  onclick="document.frames['frame4'].location.reload()" />
    都不行
    “关于你的问题,只要4.htm所在的FRAME/IFRAME跟3.htm/5.htm所在的FRAME/IFRAME都处于一个页面内且不跨域,都能,即使跨域,我也能刷新它~~~”——你只是说明了可行性(而且不知你有没有看清那个iframe的页面不是在另外一个iframe里而是在一个frame里的),但没有说出怎么做,也没说明怎么取得3.htm和5.htm对象,希望能给出代码
      

  2.   

    呵呵,我之所以给你说了说top,parent,self间的关系,就是让你清楚是怎么引用的,你的那里不该写作document.frames["frame4"]因为你要控制的FRAME不是当前页面的,document的完全写法是window.document,相当于self.document,所以你应当改作top.document.frames["...最好你把全部的代码贴出来,一个模型也好,因为我也不清楚你的框架间的层次关系.
      

  3.   

    框架间的层次关系在问题中已经说清楚了哦,代码就是在第一个问题中不过我刚才听你的加了个top,用<input type="submit" name="submit" value="测试能否刷新5.htm"  onclick="top.document.frames['frame4'].location.reload()" />发现居然可以了,哈哈太感谢了,我马上结贴,很感谢您的帮忙。而且你给我的解释都很认真到位  :)因为你,我心情真好啊
      

  4.   

    授之以渔,很喜欢你的回答,代表了csdn的风格
      

  5.   

    代表CSDN的风格,把我吹上天了....飞啊飞啊~~~~