Перейти к содержимому

Реферальная программа Мегаплана


  • Закрытая тема Тема закрыта

Можно ли вернуться обратно на страницу по ссылке

#1 LOla

LOla
  • Пользователь
  • 70 сообщений
  • Репутация: 0
0

Отправлено 10 Декабрь 2009 - 22:06

Вопрос в следующем. Можно ли вернуться обратно на страницу по ссылке и именно в то же самое место из которого ты до этого ушёл.
Поясню, есть текст, в тексте ссылка которая уходит на другую страницу, на этой страницк статья прочитав которую человек жмёт "Назад" и его возвращают на первую страницу.
Как это сделать я знаю, а как сделать что бы возврат был именно к тому месту в тексте от которого ушёл по ссылке.
Вроде я поняла что написала. :)

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 10 Декабрь 2009 - 22:37

LOla, разные браузеры по разному запоминают историю. Не скажу точно, но замечал, что некоторые берут страницу из кеша и показывают именно то место, откуда она была заменена, а некоторые заново грузят страницу
А вообще подобное можно реализовать на JS. Надо повесить на обработчик onload функцию, которая будет проверять куки пользователя на наличие каких-либо данных, и если найдёт, то там же в куках хранить смещение по Y от верха страницы, если же нужных куков нет, ничего не делать. При запросе страницы пользователем. Затем надо повесить на все ссылки, собственный обработчик-функцию, которая будет до перехода на новую страницу писать куки с отступом.
Это один из вариантов, и он не претендует на что-либо. Это одна из идей реализации. А вообще чтобы не возвращаться назад, открывайте ссылки в новом окне, спокойнее жить будете.
  • 0

#3 LOla

LOla
    Topic Starter
  • Пользователь
  • 70 сообщений
  • Репутация: 0

Отправлено 10 Декабрь 2009 - 22:47

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

Точно, а я и забыла об этом, а не напомните, что там в ссылке надо прописать?
всё, всё, я всё нашла. Спасибо!
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 10 Декабрь 2009 - 22:59

LOla, я же говорю что кода будет не мало. Написать его стоит времени, а подобная задача не нужна нафиг. Скажите, зачем такой изврат.

А теперь по делу... Можно конечно каждой кнопке прописать обработчик onclick
<a href="..." onclick="my_func();">ссылка</a>

Но представьте как геморойно писать для каждой ссылки подобный обработчик, не учитывая того, что для новой ссылки придётся прописывать тоже самое.
Есть другой вариант, поставить обработчик на событие через Event в JS. Но тут проблема в кроссбраузерности.
Самый подходящий вариант использовать кроссбраузерные библиотеки, в которых всё уже за вас написано. Я к примеру юзаю jQuery. Там назначить обработчик для всех ссылок проще простого:
$(document).ready(function(){

   $("body a").click(function(){
	   my_func();
   });

});
Данный код означает, что надо после окончания считывания DOM-структуры назначить всем ссылкам a, находящимся в body назначить обработчик события "клик по объекту" (click), что вызывает неименованную функцию, в которой вызывается наша функция my_func()
  • 0

#5 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 11 Декабрь 2009 - 10:33

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

<a href="java script:history.back();">Назад</a>
Примечание: форум принудительно делит слово "javascript" в хтмл-конструкциях на два. В правильном коде следует писать его слитно.

Сработает:
* если включен javascript
* если таки была страница, с которой была вызвана страничка с нашей ссылкой "Назад"
* если посетитель больше не кликал по ссылкам, например, для навигации внутри странички с ссылкой "Назад"
Возврат будет именно к тому месту, если будет возможность прокрутить страницу к этому месту (будет достаточно материала после точки возврата)

ZiTosS, проблем с кроссбраузерностью данного способа не встречал, использовал его еще на ИЕ4, и щас потестил на современных ИЕ8, ФФ3.5 и О10 - работает одинаково.
  • 0

#6 LOla

LOla
    Topic Starter
  • Пользователь
  • 70 сообщений
  • Репутация: 0

Отправлено 13 Декабрь 2009 - 00:16

Я правильно поняла, адрес страницы на которую надо вернуться прописывать не надо? Пишем только вот это

<a href="java script:history.back();">Назад</a>
?
Чего то у меня не вышло вернуться. :unsure:
  • 0

#7 LOla

LOla
    Topic Starter
  • Пользователь
  • 70 сообщений
  • Репутация: 0

Отправлено 13 Декабрь 2009 - 00:26

Так мальчики, что то у меня голова кругом от этих сложностей. Фиг с ним пусть в новом окне открывается, а то я опять в джава скрипте заблужись, а чо такое кроссбраузерные библиотеки я вобще не знаю. Вот так всегда, думаешь, что маленький пустячок, а вырисовывается в итоге... :)
  • 0

#8 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 13 Декабрь 2009 - 01:43

LOla, вообщем если всё работает, как сказал yury, то никаких библиотек и куков не надо.
То что предложил yury то же самое, что нажать на кнопку "назад" в браузере.
  • 0

#9 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 13 Декабрь 2009 - 10:50

LOla, именно так и пишем, только пробел надо убрать между "java" и "script".
Как правильно заметил ZiTosS, команда history.back(); просто лезет в историю браузера и показывает предыдущую посещенную страницу (если она была) и место в этой странице, с которого был произведен переход на текущую страницу.

См. также в справочнике: http://javascript.ru/window.history


  • 0

#10 LOla

LOla
    Topic Starter
  • Пользователь
  • 70 сообщений
  • Репутация: 0

Отправлено 13 Декабрь 2009 - 13:45

Спасибочки!!!Изображение Всё получилось, действительно, в первый раз на пробел внимание не обратила.
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru