繁体   English   中英

Javascript:无需完全重新加载即可刷新父页面

[英]Javascript: Refresh parent page without entirely reloading

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

目前我正在这样做:

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

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

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

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

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

window.location = window.location

或者在你的情况下:

window.top.location = window.top.location

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

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

采用:

location.replace(location.href.split('#')[0]);

需要对哈希进行split ,否则将不会刷新带有哈希的 url。

如果您想在浏览器历史记录中保留以前的加载,请使用assign而不是replace

MDN 称,Opera 目前不支持href

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM