2015-02-24 3 views
0

Я работаю над HTML-сайтом, на котором у меня есть 4 divs на странице index.html.Как обнаружить кнопку «Назад» нажмите

Раньше при нажатии на раздел раздела, используемый для его расширения, а другой раздел уменьшался по ширине.

Затем клиент попросил, чтобы URL был изменен, когда мы нажимаем любой из div.

Предположим, мы нажимаем на div, называемый test. Страница url shoul станет /test.html, без перегрузки страницы. Я реализовал эту функциональность, используя API истории.

Теперь, когда я нажимаю на div test, и URL-адрес становится /test.html, а затем, если я нажму ссылку, он перенаправляется на другую страницу.

С этой страницы, если я нажму кнопку браузера назад, она приведет меня в /test.html, который не существует, и мы получаем ошибку 404.

Я попытался сделать страницу перенаправления под названием test.html, которая перенаправляет обратно на страницу index.html, но при этом мы получаем мигание.

Что я хочу спросить, есть ли решение этой проблемы?

ответ

0

Если у вас есть mod_rewrite на веб-сервере, вы можете установить его как правило перезаписи URL.

RewriteEngine On 
RewriteRule ^test.html originalfile.html [NC] 

Это будет перенаправлять test.html к исходному HTML-файла, когда пользователь нажимает на кнопку назад и переходит к test.html, а адресной строке браузера по-прежнему отображается test.html. Отсюда вы сможете обнаружить адрес в javascript и отобразить соответствующий div.

(Обратите внимание, что вам, возможно, потребуется изменить правила выше переписывания в зависимости от того, как настроен сервер. Дополнительные сведения о создании правил перезаписи, see this link.

Смежные вопросы