Javascript:history.back
530 повідомлень
#15 років тому
Есть такая кнопочка назад, если использовать такой скриптик на onclick выходит универсальная штука, но проблема в том что если открывать в новой табе/окне страницу то хистори бэк не может никак работать, ваши альтернативы (php/java script) ?
530 повідомлень
#15 років тому
А можно на php для линки сообразить, ибо я пхп вообще не знаю.Вот пока сообразил такую штуку onclick="if(history.length > 1) {history.back()} else window.location='/' "
578 повідомлень
#15 років тому
Цитата ("zombieman"):ибо я пхп вообще не знаюа что там знать -
просто в свой код добавьте то что вам предложили:
if(history.length > 1){
history.back();
}
else
{
window.location='<?php echo $_SERVER; ?>';
}
263 повідомлення
#15 років тому
Если в браузере открыть новое окно и ввести URL, то заголовок HTTP_REFER на сервер не передается и, соответственно, в переменной $_SERVER будет пустое значение. Тот же эффект наблюдается (по крайней мере на FireFox) когда ссылка открывается в новом окне или в новой закладке: браузер запрещает кнопку Back, возвращает пустой объект history и не передает на сервер заголовок HTTP_REFER, поэтому, простоты ради, можно обойтись только JavaScript и не гонять на сервер лишний трафик.В Вашем коде:
onclick="if(history.length > 1) {history.back()} else window.location='/'
в window.location='/' обычно пишут window.location='#' - это не так сильно пугает пользователей.
578 повідомлень
#15 років тому
Цитата ("Illarion_SA"):Если в браузере открыть новое окно и ввести URL+100 \ как-то даж и не подумал ))). \ ТС, тады вам дорога к кукисам. делайте сессию на кукисах.
530 повідомлень
#15 років тому
Цитата ("Illarion_SA"):пишут window.location='#' - это не так сильно пугает пользователей.
задача else послать пользователя на гланую а не линку ни в куда сделать
Цитата ("vladmax"):
тады вам дорога к кукисам. делайте сессию на кукисах.
Куки в js еще не освоил
263 повідомлення
#15 років тому
Цитата ("zombieman"):Цитата ("Illarion_SA"):пишут window.location='#' - это не так сильно пугает пользователей.
задача else послать пользователя на гланую а не линку ни в куда сделать
Если у Вас history.length <= 1, т.е. пользователь открыл ссылку в новом окне/закладке и в списке history еще ничего нет, то если Вы выполните в этом окне window.location='/' браузер вполне может открыть file:/// - т.е. показать корневую директорию диска пользователя. На моем Firefox это выглядит не очень эстетично. Наверное, этот эффект можно убрать настройками браузера, но не стоит рассчитывать на то, что у всех пользователей будут стоять "правильные" настройки. Лучше всего, конечно, поставить эксперимент на разных браузерах.
530 повідомлень
#15 років тому
Цитата ("Illarion_SA"):
Если у Вас history.length <= 1, т.е. пользователь открыл ссылку в новом окне/закладке и в списке history еще ничего нет, то если Вы выполните в этом окне window.location='/' браузер вполне может открыть file:/// - т.е. показать корневую директорию диска пользователя. На моем Firefox это выглядит не очень эстетично. Наверное, этот эффект можно убрать настройками браузера, но не стоит рассчитывать на то, что у всех пользователей будут стоять "правильные" настройки. Лучше всего, конечно, поставить эксперимент на разных браузерах.
Поясню, шаблон dle когда открываете статью (фул-стори) там есть кнопка назад, при / все идет на localhost как и надо, я знаю что метод не идеален и есть такая смешная штука когда у тебя история есть но клиент на первом пункте истории тогда ни history.go(-1) ни на главную не работает т.к. history.lenght > 1
В общем как допишу весь шаблон, отлажу, оптимизирую, сделаю последний тест, буду братся за куки, а сейчас нет на это времени т.к. я заказчику не могу сказать что я целый день одну кнопку назад писал)
578 повідомлень
530 повідомлень