簡體   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