从iframe更改父级的状态

时间:2013-05-29 05:49:29

标签: javascript html5 browser-history frameset history.js

我正在制作一个使用框架集的应用程序。我遇到的问题是,每次刷新页面时,主框架都会从框架中的当前URL重定向到index.php。重装帧可以解决这个问题,但那不是一个非常方便的解决方案。

要解决此问题,我想到了使用html5浏览器状态更改。更改父框架的URL不是问题,但不会更改状态。简单的刷新将再次将整个事物重定向到索引页面。我尝试使用history.js将主框架的当前URL推送到历史记录中,这样每次刷新或返回时,它至少会保留在同一页面上。

问题是我无法弄清楚如何从子框架更改父级的状态。父URL和子URL都位于同一域中。有可能用history.js做吗?如果是这样的话?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式在iFrame中引用父窗口:

parentWindow = window.parent; 

从那里开始,您可以通过iFrame调用任何对您的父母有直接影响的功能,如下所示:

parentWindow.location.reload();

<强>更新

如果您想要保留iFrame的状态,那么这会使事情稍微复杂化。您需要将它(iFrame的状态)发送给父级,然后执行表单提交,将iframe的状态发送到服务器。然后服务器的响应应该将iFrame加载到正确的状态。