Руслан Савенок
530 повідомлень
#15 років тому
Есть такая кнопочка назад, если использовать такой скриптик на onclick выходит универсальная штука, но проблема в том что если открывать в новой табе/окне страницу то хистори бэк не может никак работать, ваши альтернативы (php/java script) ?
Лев П.
249 повідомлень
#15 років тому
$_SERVER
Руслан Савенок
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 повідомлень
#15 років тому
Ну тогда чтоб попасть на главную тупо надо прописать абсолютный урл до главной (она то известна надеюсь?) - window.location=';
Руслан Савенок
530 повідомлень
#15 років тому
Да это не столь важно, кнопка назад криво но работает.

Вы лучше помогите с и
Владимир М.
578 повідомлень
#15 років тому
(( ко мне ток по жумейре...