2016-09-12 2 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

ОК, поэтому вы можете использовать 'location.reload();' –

+0

Я боюсь, что вы не понимаете мою проблему. Ваше решение перезагружает страницу программно, это не влияет на проблему, которую я описал. Спасибо, в любом случае. – Zonamaster

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