在frameset,frame,iframe中如何操作其他框架中的页面以及如何刷新框架中的页面

  1. 方法1:使用parent跳出本框架再找其他框架。
  2. 方法2:使用top跳到本页面的顶层框架
  3. 参见

framesetframeiframe可以让我们很好的布局整个web页面。
每个web工程没有不用到这些的,那在framesetframeiframe中如何操作其他框架中的页面以及如何刷新框架中的页面?

整体的布局可以用一张图来看,这样更清楚:

整体的布局

上面的MAINCONTENT中嵌入listphonebook.jsp
我们想在listphonebook.jsp中调用其他页面的方法或者刷新某个frame中的页面应该怎么做呢?

比如homeleft.jsp中有个方法:

function gg(){
 alert("gg");
}

方法1:使用parent跳出本框架再找其他框架。

一,刷新listphonebook.jsp

当然也可以window.location.reload();
不过这个刷新会有IE的提示框弹出,效果不是很好。
所以把右面所有页面刷新

parent.window.parent.window.frames[1].window.location.reload();

刷新左面homeleft.jsp

parent.window.parent.window.frames[0].window.location="xxx.jsp";
parent.window.parent.window.frames[0].window.location.reload();

二,调用homeleft.jsp中的方法

parent.window.parent.window.frames[0].gg();
parent.window是homeright
parent.window.parent.window是mainFrame
parent.window.parent.window.frames[0]是homeleft.jsp

这样就可以调用这个页面的方法gg()

方法2:使用top跳到本页面的顶层框架

然后一层层按从外向里的顺序找到你要的页面。
一,刷新listphonebook.jsp

//那在此页面可以
top.mainFrame.homeright.location="<%=path%>/jsp/layout/module.jsp?parentMenuId=hd_phonebook";
//或者
top.mainFrame.homeright.location.reload();
//刷新左面homeleft.jsp
top.mainFrame.homeleft.location="xxx.jsp";
//或者
top.mainFrame.homeleft.location.reload();

二,调用homeleft.jsp中的方法

top.mainFrame.homeleft.window.gg();

参见

在frameset,frame,iframe中如何操作其他框架中的页面以及如何刷新框架中的页面


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com

文章标题:在frameset,frame,iframe中如何操作其他框架中的页面以及如何刷新框架中的页面

文章字数:414

本文作者:Bin

发布时间:2016-03-16, 15:46:59

最后更新:2019-08-06, 00:49:04

原始链接:http://coolview.github.io/2016/03/16/JavaScript/%E5%9C%A8frameset%EF%BC%8Cframe%EF%BC%8Ciframe%E4%B8%AD%E5%A6%82%E4%BD%95%E6%93%8D%E4%BD%9C%E5%85%B6%E4%BB%96%E6%A1%86%E6%9E%B6%E4%B8%AD%E7%9A%84%E9%A1%B5%E9%9D%A2%E4%BB%A5%E5%8F%8A%E5%A6%82%E4%BD%95%E5%88%B7%E6%96%B0%E6%A1%86%E6%9E%B6%E4%B8%AD%E7%9A%84%E9%A1%B5%E9%9D%A2/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录