Программирование > JavaScript & JScript
history.back() & history.forward()
KBA-KBA:
а не проще ли проверять на какой странице находиться пользователь, и если он на начальной странице не делать ссылок???
Fury:
KBA-KBA - не проще.
Задача другая...
И потом, на первую страницу можно попасть в процессе брожения по сайту. И в таком случае вернуться назад будет куда, т.е. ссылка нужна.
Проблема в определении есть ли куда идти вперед, и есть ли куда идти назад.
Maniac:
IMHO, задача в том виде, в котором ты её поставила не решается вообще. Ну ты сама подумай: юзер набрал в строке адрес как-нить статьи или по ссылке пришел. Ты хочешь, чтобы скрипт сам за тебя определял, есть ли страницы уровнем выше и уровнем ниже? Но для этого каждый скрипт должен четко знать свое место в иерархии сайта. Т.е. если просто свалить страницы у едину кучу - то ничего не выйдет.
Ты либо должна будешь в каждом файле прописывать его место в иерархии, либо именовать его соответсвующим образом - что, вообще говоря, по трудозатратам равно ручному прописыванию ссылки в каждой странице.
Далее... Если ты хочешь, чтобы твой скрипт был аналогичен действию кнопок вперед-назад браузера, с той лишь разницей, что действует он только на твоем сайте - то это
а) бесполезно, т.к. если юзер пришел по ссылке, то это еще не значит, что нет страниц выше по иерархии, тогда как кнопка "назад" будет неактивна.
б) ничего не выйдет, т.к. при помощи javascript ты не можешь узнать, где юзер прыгал по сети.
Если я тебя не так понял - конкретизируй.
Fury:
Maniac
О! Вот я и хотела сказать, что аналогичен действию вперед-назад браузера.
Про пункт (а) при этом я тебе и говорила, что на первой _моей_ странице делать кнопку неактивной - бредово.
Зато не бредово проверять history.length - если ноль, то и вперед и назад неактивны, потому как только что пришли.
По поводу (б) - мне пофиг, где он прыгал по сети :) С помощью javascript\'а я могу "помочь" ему перейти назад - history.back :) Но вот есть ли куда перейти - это я и хотела узнать.
Нашла помимо length еще свойства current, next и previous которые должны возвращать адреса текущего, следующего и предыдущего документа, но у меня они ничего не возвращают :( И их описание не везде есть, что наталкивает на мысль, что такие свойства собственно говоря, отсутствуют.
Maniac:
Дык вот... Узнать откуда юзер пришел легко - анализируй HTTP_REFERER
Узнать куда он пойдет - нельзя.
Использовать current, next и previous можно только в signed scripts. Что это такое я не знаю, но подозреваю, что что-то нехорошее.
Навигация
Перейти к полной версии