2016-09-12 4 views
1

Ich bin neu bei Pjax und Ajax, eigentlich Scripting im Allgemeinen. Ich habe eine einfache Pjax-Implementierung, die gut funktioniert, außer wenn Sie manuell ein hartes Neuladen einer Seite durchführen.PJAX: Erzwingen Sie die gesamte Seite beim manuellen Aktualisieren neu zu laden, wie?

Beim manuellen Neuladen einer Seite mit einem Tastaturbefehl oder Mausklick wird nur das pjax div in das Browserfenster geladen und nicht die gesamte Seite (Containerframe und pjax div), dh etwa 80% der Seite einschließlich Kopfzeile , Fußzeile, Navigation, Stile, etc.

Ich bin auf der Suche nach einer Möglichkeit, um den Frame neu mit dem aktuellen Pjax Inhalt anstelle der nackten Pjax Inhalt ohne Rahmen zu erzwingen. Vielen Dank.

Hier ist eine einfache Reduktion meines Codes:

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

Antwort

0

Versuchen Sie folgendes:

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

Die Dokumentation von pjax erklärt die Optionen, die Sie hinzufügen können: https://github.com/defunkt/jquery-pjax

+0

Das hat nicht für mich funktioniert. Wenn ich diese Zeile benutze, wird die Seite einfach aktualisiert. Was ich versuche zu tun, ist eine volle Seite (Rahmen und Pjax-Container) richtig zu laden, wenn ein Benutzer ein Hard-Reload mit Tastaturbefehlen ausführt oder die Seite auf andere Weise neu geladen wird. Dieser Code funktioniert möglicherweise, wenn er nur in einer dieser Bedingungen aufgerufen wurde. – Zonamaster

+0

OK, Sie können 'location.reload();' –

+0

verwenden. Ich fürchte, Sie verstehen mein Problem nicht. Ihre Lösung lädt die Seite programmgesteuert neu und hat keine Auswirkungen auf das beschriebene Problem. Danke trotzdem. – Zonamaster

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