Я использую .htaccess для маршрутизации всего моего трафика в один файл index.php. Код ниже направляет трафик, но по какой-то причине он не работает с кнопкой «Назад». Я не знаю, что делать, чтобы заставить кнопку «вернуться» работать. Я пробовал разные вещи и искал многое, но ни один из них не работал, поэтому я надеюсь, что кто-то здесь поможет!
<?php if(isset($_GET['parameters'])) { if($_GET['parameters'] == "repair") include 'repair.html'; else if($_GET['parameters'] == "training") include 'training.html'; else if($_GET['parameters'] == "products") include 'products.html'; else if($_GET['parameters'] == "about") include 'about.html'; else if($_GET['parameters'] == "employees") include 'employees.html'; else if($_GET['parameters'] == "training") include 'training.html'; else if($_GET['parameters'] == "newaccount") include 'newaccount.html'; else if($_GET['parameters'] == "contact") include 'contact.html'; else if($_GET['parameters'] == "recommended") include 'recommended.html'; else if($_GET['parameters'] == "careers") include 'careers.html'; else include 'home.html'; } else include 'home.html'; ?>
До сих пор я пробовал и не использовал: window.onbeforeunload
body onunload=""
onunload=location.reload()
быть способ onunload=location.reload()
или что-то в этом роде! Как-то должен знать синтаксис !!
Попробуйте это … не проверено. Надеюсь, это сработает для вас.
Создайте новый php-файл. Вы можете использовать кнопки «Назад» и «Вперед», а число / метка времени на странице всегда обновляется.
<?php header("Cache-Control: no-store, must-revalidate, max-age=0"); header("Pragma: no-cache"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); echo time(); ?> <a href="http://google.com">aaaaaaaaaaaaa</a>
Или
нашли другое решение
Событие onload должно быть запущено, когда пользователь нажимает кнопку «Назад». Элементы, не созданные с помощью JavaScript, сохраняют свои значения. Я предлагаю сохранить резервную копию данных, используемых в динамически создаваемом элементе в INPUT TYPE = «скрытый» набор для отображения: no then onload, используя значение ввода для перестройки динамических элементов так, как они были.
<input type="hidden" id="refreshed" value="no"> <script type="text/javascript"> onload=function(){ var e=document.getElementById("refreshed"); if(e.value=="no")e.value="yes"; else{e.value="no";location.reload();} }
В более позднем решении используется интерфейс PerformanceNavigation :
if(!!window.performance && window.performance.navigation.type === 2) { console.log('Reloading'); window.location.reload(); }
Где значение 2 означает «Доступ к странице осуществляется путем навигации по истории».
Просмотреть поддержку браузера здесь: http://caniuse.com/#search=Navigation%20Timing%20API
Перезагрузите сайт, когда он достигнут через кнопку браузера Назад
Скрытое входное решение не работало для меня в Safari. Решение ниже работает и пришло отсюда .
window.onpageshow = function(event) { if (event.persisted) { window.location.reload() } };
Это простое решение, размещенное здесь. Настроить обновление страницы на обратной кнопке …
Я попытался заставить страницу снова загружаться браузером, когда пользователь нажимает кнопку «Назад», но ничего не работает. Похоже, что у современных браузеров есть отдельный кэш для страниц, в котором хранится полное состояние страницы (включая элементы DOM, созданные с помощью JavaScript), поэтому, когда пользователи нажимают кнопку «Назад», предыдущая страница отображается мгновенно в том состоянии, когда пользователь ее покинул. Если вы хотите заставить браузер перезагружать страницу на кнопку «Назад», добавьте onunload = «» к вашему элементу тела HTML (X):
<body onunload="">
Это отключает специальный кеш и принудительно перезагружает страницу, когда пользователь нажимает кнопку «Назад». Подумайте дважды, прежде чем использовать его. Факт необходимости такого решения – это намек на то, что ваша концепция навигации сайта ошибочна.
Я нашел два способа справиться с этим. Выберите лучшее для своего дела. Решения, протестированные на Firefox 53 и Safari 10.1
1. Определите, использует ли пользователь кнопку назад / вперед, затем перезагрузите всю страницу
if (!!window.performance && window.performance.navigation.type === 2) { // value 2 means "The page was accessed by navigating into the history" console.log('Reloading'); window.location.reload(); // reload whole page }
2. перезагрузите всю страницу, если страница кэширована
window.onpageshow = function (event) { if (event.persisted) { window.location.reload(); } };
вы попробовали что-то вроде этого? не испытано…
$(document).ready(function(){ $('.ajaxAnchor').on('click', function (event){ event.preventDefault(); var url = $(this).attr('href'); $.get(url, function(data) { $('section.center').html(data); var shortened = url.substring(0,url.length - 5); window.location.hash = shortened; }); }); });
Прежде всего, вставьте код в свой код:
<input id="reloadValue" type="hidden" name="reloadValue" value="" />
затем запустите jQuery:
<script type="text/javascript"> jQuery(document).ready(function() { var d = new Date(); d = d.getTime(); if (jQuery('#reloadValue').val().length === 0) { jQuery('#reloadValue').val(d); jQuery('body').show(); } else { jQuery('#reloadValue').val(''); location.reload(); } });
.<script type="text/javascript"> jQuery(document).ready(function() { var d = new Date(); d = d.getTime(); if (jQuery('#reloadValue').val().length === 0) { jQuery('#reloadValue').val(d); jQuery('body').show(); } else { jQuery('#reloadValue').val(''); location.reload(); } });
window.onbeforeunload = function () {redirect (window.history.back (1)); };
Ahem u_u
Как я уже сказал, кнопка «Назад» для каждого из нас – боль в некотором месте … это говорит …
До тех пор, пока вы загружаете страницу, обычно это создает массу проблем … для стандартного «сайта» это не изменится так сильно … однако я думаю, что вы можете сделать что-то вроде этого
Пользователь каждый раз обращается к вашей странице .php, которые выбирают, что загружать. Вы можете немного поработать с кешем (чтобы не кэшировать страницу) и, возможно, срок действия.
Но для долгосрочного решения будет добавлен код на событие «onload» для извлечения данных Ajax, таким образом вы можете (с Javascript) запустить код, который вы хотите, и пример обновить страницу.