Javascript:刷新父页面而不完全重新加载

Ala*_*air 2 html javascript

用户通过fancybox(javascript)弹出窗口登录后,我希望重新加载父页面,以便他们可以访问登录的功能.

目前我这样做:

<a href="javascript:window.top.location.reload(true)" class="continue">Continue</a>
Run Code Online (Sandbox Code Playgroud)

这很好用,但唯一的问题是它完全重新加载整个页面:重新下载所有的css和javascipt等.

我想要做的就是正常重新加载页面,而不是完全刷新.我怎样才能做到这一点?

(我不知道确切的URL,因为登录可以通过fancybox从任何页面完成,所以我无法对URL进行硬编码.)

T.J*_*der 7

不要指定truereload,告诉它总是从服务器获取.并确保正确设置HTML,CSS和JavaScript的缓存标头,以便HTML总是被重新加载(而不是缓存),但CSS和JavaScript被缓存(或者至少只通过一个有条件地检索If-Modified-Since).


dec*_*den 7

另一种重新加载我在facebook图形api中看到的页面的方法如下:

window.location = window.location
Run Code Online (Sandbox Code Playgroud)

或者在你的情况下:

window.top.location = window.top.location
Run Code Online (Sandbox Code Playgroud)

此解决方案重新加载页面而不尝试重新发送POST请求.可能有用.有关更多信息,请查看以下SO问题.