Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать чтобы кнопка «Назад» работала бы в пределах определенного сайта? (https://javascript.ru/forum/misc/65330-kak-sdelat-chtoby-knopka-nazad-rabotala-v-predelakh-opredelennogo-sajjta.html)

Askeer 12.10.2016 19:03

Как сделать чтобы кнопка «Назад» работала бы в пределах определенного сайта?
 
Всем привет.
Пожалуйста помогите дописать js код так, чтобы он делал именно то что задумано.


Суть вопроса.
Есть кнопка при нажатие на которую мы возвращаемся назад (на предыдущую страницу), как сделать чтобы данный js работал в пределах определенного домена, то-есть , перейдя на example.com/page/1 с поисковой выдачи, или напрямую со стартовой страницы браузера, нас не выкидывала бы обратно при нажатии на кнопку "Назад" на страницу выдачи или на стартовую страницу браузера. Как сделать чтобы код понимал, что мы пришли на страницу example.com/page/1 с другого ресурса и при нажатии на кнопку "Назад" он нас отправлял бы на example.com а не страницу выдачи к примеру? + если мы перейдем на страницу example.com/page/1 к примеру со страницы example.com/page/ то при нажатии на кнопку "Назад" нас бы возвращала бы на страницу example.com/page.

Как сделать чтобы кнопка "Назад" работала бы в пределах определенного сайта? Если мы пришли на страницу example.com/page/1 со страницы example.com/page или example.com/test, при нажатии на кнопку "Назад" мы будем возвращаться на предыдущую страницу (example.com/page или example.com/test), так как предыдущая страница находится в рамках нашего домена example.com. А если мы пришли на страницу example.com/page/1 через Google, Yandex и тп, или со стартовой страницы браузера, то при нажатии на кнопку "Назад" нас возвратит не на Google к примеру, а на главную страницу сайта example.com.

Кнопка
onclick="goBack()">Назад

Javascript
function goBack() {
window.history.back();
}

Rasy 12.10.2016 19:46

function goBack() {
  var r = document.referrer;
  if (r.match('yandex') || r.match('google')) {
    window.location = '/';
    return;
  }
  window.history.back();
}

warren buffet 13.10.2016 11:54

Наоборот, свой домен надо чекать.

Aetae 13.10.2016 17:53

Ну главное суть. Я вот про referrer сходу не смекнул.)

warren buffet 14.10.2016 08:27

Я тож про реферера на js не знал, кандидату карму запузырил. )

Обычно через куки такая байда делается, ну, там вернуться в предыдущий контекст, а не просто назад.

Rasy 14.10.2016 10:26

ну вы даете) наверное с сеошниками не работали в команде:) )

рони 14.10.2016 10:41

:)
на эту же тему
http://javascript.ru/forum/css-html/...refererru.html

Rasy 14.10.2016 12:23

рони,
вот и метод "тест" я начал использовать:)


Часовой пояс GMT +3, время: 07:16.