Отслеживать, какая вкладка просматривалась при обновлении страницы

#php #javascript #html

#php #javascript #HTML

Вопрос:

У меня есть веб-страница, на которой есть три вкладки, и в зависимости от того, какая вкладка нажата, отображается соответствующий контент. Это отображение / скрытие содержимого при нажатии на вкладки обрабатывается Javascript.

Моя проблема в том, что если я просматриваю третью вкладку, а затем обновляю страницу, страница обновляется не до того, чтобы содержимое третьей вкладки было видимым, а вместо этого возвращается к содержимому первой вкладки.

Есть ли какой-либо способ, при выполнении javascript, добавить параметр GET к URL, чтобы при загрузке страницы мой PHP-скрипт мог проверять наличие параметра GET и отображать правильное содержимое?

Комментарии:

1. Я бы написал cookie, который указывает, какая вкладка была открыта, перезаписывая его при каждом изменении вкладки.

2. Вы могли бы отправить переменную в PHP с помощью ajax и сохранить ее в массиве $_SESSION.

Ответ №1:

У вас есть несколько вариантов:

  • используйте идентификатор фрагмента (добавьте что-то вроде #tab3 к URL)
  • сохранить в файле cookie
  • используйте локальное хранилище

В зависимости от того, какие браузеры вы хотите поддерживать и как долго вы хотите сохранить опцию, вы можете выбрать любой из них.

Ответ №2:

Добавьте идентификатор вкладки к URL в качестве привязки при нажатии на вкладку, например http://www.mysite.com/page.html#tabId

Затем, когда страница загружается, вы проверяете наличие идентификатора вкладки в URL и активируете нужную вкладку

Комментарии:

1. Я рассматривал # anchor, но не уверен, как проверить его наличие в моем PHP-скрипте при загрузке страницы. Должен ли я использовать regex для этого?

2. Вы можете сделать это на стороне клиента также на JavaScript. Но в любом случае вам придется проанализировать URL и использовать все после # в качестве идентификатора вкладки.

3. Вы также можете поместить параметры после # sing в качестве key = value, чтобы их было легче найти, когда у вас есть несколько параметров.

Ответ №3:

Вы можете использовать cookie или ссылку hash . Например:http://jqueryfordesigners.com/api-filter-find