用户通过fancybox(javascript)弹出窗口登录后,我希望重新加载父页面,以便他们可以访问登录的功能。
目前我正在这样做:
<a href="javascript:window.top.location.reload(true)" class="continue">Continue</a>
这很有效,但唯一的问题是它完全重新加载整个页面:重新下载所有的css&amp; javascipt等。
我想要做的就是正常重新加载页面,而不是完全刷新。我怎样才能做到这一点?
(我不知道确切的网址,因为登录可以通过fancybox从任何页面完成,因此我无法对网址进行硬编码。)
答案 0 :(得分:7)
不要将true
指定为reload
,告诉它始终从服务器获取。并确保HTML,CSS和JavaScript的缓存标头设置正确,以便HTML总是被重新加载(而不是缓存),但CSS和JavaScript被缓存(或至少只通过If-Modified-Since
有条件地检索)。
答案 1 :(得分:6)
重新加载我在 facebook graph api 中看到的页面的另一种方法如下:
window.location = window.location
或在你的情况下:
window.top.location = window.top.location
此解决方案重新加载页面,而不尝试重新发送POST
请求。可能有用。有关更多信息,请查看以下SO question。
答案 2 :(得分:0)