Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Навигация и Ajax
 
 автор: patience   (03.01.2008 в 23:32)   письмо автору
 
 

Как организховать навигацию таким образом, чтобы при нажатии на ссылку (к примеру) вызывалась функция javascript-а (запрос асинхронный на сервер) и изменялась строка адреса в браузере - НО без всякого перехода по url.

т.е. -
1) есть ссылка, кликаем по ней
2) получаем контент от сервера
3) вставляем его куда надо
4) меняется url но без перехода


вопрос в реализации - 1 и 2. Либо есть какой-то другой путь?

зачем эт надо? если не меняется url и всё правится js, то при нажатии на F5 (обновить) как сервер узнает что именно вернуть клиенту?

   
 
 автор: SHAman   (04.01.2008 в 00:53)   письмо автору
 
   для: patience   (03.01.2008 в 23:32)
 

1) Поменять адрес в браузере не получится.
2) при нажатии на F5, при загрузке контента аяксом, вы получите стартовую страницу. Всегда.
3) Если вы делаете навигацию на аяксе, то помните, что для поисковиков весь тот контент, что вы динамически подргужать собрались, будет невидим.

   
 
 автор: patience   (04.01.2008 в 01:14)   письмо автору
 
   для: SHAman   (04.01.2008 в 00:53)
 

а как же gmail.com и т.д.
Решение должно быть! )

   
 
 автор: AlexSol   (04.01.2008 в 09:30)   письмо автору
 
   для: patience   (04.01.2008 в 01:14)
 

хоть вопрос по реализации 1-2, отвечу про пункт 4 - http://noregret.org/tutor/navigation/

   
 
 автор: patience   (04.01.2008 в 12:54)   письмо автору
 
   для: AlexSol   (04.01.2008 в 09:30)
 

AlexSol, спасиб за статью.

Без использования флеша нужно.


главное чтобы при обновлении странички серверная чать знала где мы находимся и возвращала нужный контент. Как этого добиться?

   
 
 автор: AlexSol   (04.01.2008 в 15:20)   письмо автору
 
   для: patience   (04.01.2008 в 12:54)
 

изменять url не выйдет, но можно дописывать якоря url#якорь и ими манипулировать


<a href="" onClick="Elocaton('#rambler'); return false">rambler</a> |  
<a href="" onClick="Elocaton('#ballista'); return false">ballista</a> 
<script>
function Elocaton(arg){
    location.hash = arg;
}
</script>

   
 
 автор: SHAman   (04.01.2008 в 15:45)   письмо автору
 
   для: AlexSol   (04.01.2008 в 15:20)
 

Да, если только так. А переписать урл = перейти на него. А это уже перезагрузка страницы.

А в gmail что, при нажатии F5, открывается то же место, что и было?

   
 
 автор: patience   (04.01.2008 в 15:55)   письмо автору
 
   для: SHAman   (04.01.2008 в 15:45)
 

>А в gmail что, при нажатии F5, открывается то же место, что и было?
да

AlexSol, спасибо за идею

   
 
 автор: bronenos   (04.01.2008 в 17:09)   письмо автору
 
   для: patience   (04.01.2008 в 15:55)
 

если да то это наверняка cookie, я там F5 не нажимал

   
 
 автор: SHAman   (04.01.2008 в 18:13)   письмо автору
 
   для: bronenos   (04.01.2008 в 17:09)
 

Возможно, там, как раз, работа с якорями. (#) Если я обновляю страницу, то урл сохраняется всметсе с якорем. Если грамотно его составить, то можно оставить все как есть на странице.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования