2016-09-12 62 views
1

我是新來的pjax和ajax,實際上腳本一般。我有一個簡單的pjax實現,除了手動執行頁面的重新加載之外,其效果很好。PJAX:強制整個頁面重新加載手動刷新,怎麼樣?

使用鍵盤命令或鼠標單擊手動重新加載頁面時,只有pjax div重新加載到瀏覽器窗口而不是整個頁面(容器框架和pjax div),這意味着大約80%的頁面消失,包括頁眉,頁腳,導航,樣式等

我正在尋找一種方法來強制框架重新加載與當前pjax內容而不是沒有框架的裸pjax內容。謝謝。

這裏有一個簡單的還原我的代碼:

<a data-pjax='#pjax-container' href="https://10.0.1.8:8890/location/3114">Seattle</a> 

<script type="text/javascript"> 
    $(document).ready(function() { 
    $(document).pjax('[data-pjax] a, a[data-pjax]', '#pjax-container'); 
    }); 
</script> 

<div id="pjax-container"> ...pjax loaded content... </div> 

回答

0

試試這個:

$.pjax.reload('#pjax-container')

pjax的文檔解釋了這些選項,你可以添加到它:https://github.com/defunkt/jquery-pjax

+0

這不適合我。當我使用這一行時,頁面只是在加載時刷新。我想要做的是正確加載一個完整的頁面(框架和pjax容器),當用戶使用鍵盤命令進行硬重新加載或頁面以任何其他方式重新加載時。如果僅在這些條件之一中調用此代碼,則此代碼可能有效。 – Zonamaster

+0

OK,所以你可以使用'location.reload();' –

+0

恐怕你不理解我的問題。您的解決方案以編程方式重新加載頁面,它對我描述的問題沒有影響。不管怎麼說,還是要謝謝你。 – Zonamaster

0
$(document).pjax('[data-pjax] a, a[data-pjax]', '#pjax-container', { push: false, replaceRedirect: false });