Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Работа над сайтом > HTML/DHTML/CSS/JS/VB

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.06.2008, 20:29
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 1  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию swfaddress: кто-нибудь пробывал адаптировать к JavaScript + XMLHttpRequest?

Собственно, вот, что хочется сделать: Есть ХТМЛ страничка, она может динамически грузить в себя фрагменты ХТМЛя, что делает ее логически другой страницой сайта, но из других соображений не хочется перегружать страницу каждый раз, а чтобы была заготовка + набор разных "довесок" к ней.
Возможно ли "объяснить" браузеру, что каждая новая загрузка == переходу на новую страницу?

Небольшая поправка: возникает ли какое-нибудь событие при переходе по якорю, и как можно отловить ситуацию когда пользователь перешел на другой якорь используя back / forward / history? Подписал боди на все события, которые нашел в доках - но ничего из них не вызывается =( Последнее, что придумал - сетинтервалом проверять...

И, естесственно, теперь работает только в ФФ, а в ИЕ - нет...

Ок... выяснилось, что ИЕ не добавляет #anchorName к document.location.href - следовательно, вопрос... а куда он его добавляет? =/

Вобщем, после долгих поисков и попыток слепить чего-нибудь самому примерно следующие результаты:
Что именно Експлорер хранит в хистори - не понятно. Вся информация, которую можно получить о хистори - количество посещенных страниц (млин, ну почти... проблема в том, что "вперед" и "назад" считаются вместе - идиотизм, конечно... но факт).
history.current (упоминание об этом можно встретить в разных источниках) возвращает undefined (есть предположение, что так это работало в каких-то более ранних версиях). Аналогично history.next и history.prewious.
window.location.href и window.location.hash не обновляются при переходе на якорь внутри документа...
Существует несколько разных версий реализации хистори для AJAX, но все со своими недостатками, при чем хуже всего дела обстоят с Сафари (ну и ладно бы...) но, то как это реализуется для остальных браузеров - просто караул =) Здоровенные JS файлы с созданием каких-то невидимых форм/ай-фреймов кучей постбеков... вобщем, не рационально, легче уже ХТМЛ весь перезагрузить, чем с этим заморачиваться...
Кроме всего прочего обнаружилась куча петиций разработчииков на AJAX с просьбами улучшить работу хистори... очевидно, безответных =)

Последняя надежда на то, что это можно как-то сделать на VBScript... но мне это совсем не понятно =)
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 29.06.2008 в 01:49.
Старый 29.06.2008, 02:41
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 2  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
по теме: http://noregret.org/tutor/navigation/

по мнению: если страница логически становится другой у неё должен менять фактический адрес. Аякс хорошая чтука, но не везде. Ваша ситуация напоминает сайт сделанный на фреймах - навигируем-навигируем, а урл и ныне там

Старый 29.06.2008, 13:36
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По-моему ситуция вполне объяснимая: есть темплейт, он грузит стили, скрипты и какую-то минимальную статическую графику. И есть фактическое содержание страниц. Зачем мне нагружать пользовательский браузер перегружая абсолютно идентичный в пределах сессии контент + заставляя это все по новой перерисовывать/пересоздавать?
Про эту статью я знаю... проблема в том, что в Эксплорере 6.0 и 6.1 (а это примерно половина всех современных браузеров) location.hash при переходе по back / forward не обновляется. Т.е. вот такая ситуация:
идем: страница#а -> страница#б.
возвращаемся через хистори на цтраница#а. В эксплорере location.hash == страница#б, а в ФФ location.hash == страница#а.
__________________
Hell is the possibility of sanity

Старый 29.06.2008, 16:21
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 4  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
В статье расказано что обновляется title при переходе кнопками вперёд/назад, в вашей ситуации это не поможет?


во-первых, на сегодняшних скоростях и производительностях компьютеров, не думаю, что, нагрузки будут особо ощутимы.
во-вторых, страница/сайт должны не терять своей функциональности и при отключенных скриптах, стилях и минимальной графики

к тому же скрипты, стили и минимальная графика кешируются... особенно в ИЕ ))

Старый 29.06.2008, 17:27
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Смотрите, кешируются - да, но страница отдается в сессии с хидерами типа no-cache should revalidate и т.п. (надо, ничего не поделаешь).
Title не меняется... единственное, как можно отследить - если пихать якоря кудани-нибудь за пределы страницы - тогда при переходе через хистори на уже посещенный якорь страница попытается скролится к якорю... но это не очень надежный вариант (мало ли, а вдруг ее откроют на двух мониторах / с какими-нибудь настройками игнорирующими стили) + выглядит по-дурацки =) Да и вообще криво как-то =)
Те у кого отключен яваскрипт сразу в рассчет не принимаются - нечего им на этом сайте делать =)
__________________
Hell is the possibility of sanity

Старый 29.06.2008, 17:48
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 6  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
картинкам, стилям (внешним) и скриптам (внешним) по барабану, с какими заголовками отдаётся страница.

Кстати у меня в ИЕ при изменении document.location.hash кнопки Вперёд/Назад вообще неактивны.

Старый 29.06.2008, 18:38
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Нет, все генерится и отдается ПХП. Т.е. есть класс, который генерит стили и по требованию их отдает браузеру, аналогично картинки и т.п. т.е. файлов типа style.css / mypicture.jpg и т.п. реально не существует. Так нужно =)

Так они становятся активными при переходе по якорям =) не наоборот же =)
__________________
Hell is the possibility of sanity

Старый 29.06.2008, 19:19
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 8  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
при переходе по якорям фокус переводится на ссылку с якорем - я уж думал это решение: подписываем события на эти якоря и как тока попадаем в фокус - сигналим... но... при кликах по кнопкам вперёд/назад якоря не ловят фокус.

Старый 29.06.2008, 19:33
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Аха... вот и я о том же... но в ИЕ это еще цветочки... в Сафари вообще маразм, там, например, если якоря называть #anchor1, #anchor2, #anchor3 - то промежуточные (#anchor2) пропускаются при переходе назад-вперед по хистори... но не всегда... понять почему так происходит - не реально не прибив гвоздями пальцы разработчиков браузера к горячей сковородке =)
__________________
Hell is the possibility of sanity

Старый 29.06.2008, 20:09
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 10  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Title не меняется...
В статье выше написано, что title меняется только вслучае перезагрузки любой флэшки на странице - пример там есть.

Цитата:
Сообщение от Mnilionic Посмотреть сообщение
Кстати у меня в ИЕ при изменении document.location.hash кнопки Вперёд/Назад вообще неактивны.
Также в статье выше написано, что ИЕ не запоминает в Хистори невалидные(без якоря) ссылки. Т.е. чтобы он ее запомнил, нужно создать вначале якорь с таким именем.

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
javascript , swfaddress , xmlhttprequest
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:34.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.