X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> принудительная перезагрузка страницы при навигации вперед/назад
Apay
Apay
Topic Starter сообщение 3.11.2010, 14:24; Ответить: Apay
Сообщение #1


Есть сайт, в котором страницы могут динамически меняться (в т.ч. используя ajax), при новой загрузке страница на сервере генерится уже измененная, тут все в порядке. Но когда юзер нажимает в навигации вперед/назад, браузеры выдают неизмененные страницы (из своего кеша), которые надо вручную перезагружать. всякие хидеры и прагмы для отключения кеширования уже стоят, но это не помогает.

Проблема в том, что при навигации кнопками javascript не работает, а то можно было бы написать какой-нить извращенный код.

Может кто знает как разрешить ситуацию.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 3.11.2010, 15:04; Ответить: ZhukV
Сообщение #2


(Apay @ 3.11.2010, 16:24) *
Но когда юзер нажимает в навигации вперед/назад, браузеры выдают неизмененные страницы (из своего кеша),

Это будет так всегда!!!
Была раз такая проблема.
Взял пример с сайта ВКонтакте, фотогалерея.
Там содержимое контента фото изменяется при помощи перехода к диву (index.php#photo1111, index.php#photo2222)
В реади документа тыкаем ункцию, которая вытаскивает все после ПОСЛЕДНЕГО # (их может быть несколько в адресной строке), и генерируем так, как нужно.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 3.11.2010, 15:11; Ответить: ZhukV
Сообщение #3


Apay, если я верно понял вопрос:
var temp = location.href.split('#');
var pid = temp[temp.length - 1];
if(!pid || typeof pid == 'undefined'){
    alert("Нехрена здесь нет.")
}else{
  alert("А здесь устанавливаем уже свой оброботчик. Хорошо использовать функции, так тогда легше будет управлять динамическим контентом в даной ситуации")
}

Лучше конечно же установить проверку, действитеьно ли это есть уникальный номер контента.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 3.11.2010, 16:21; Ответить: Letmetouchyou
Сообщение #4


(Apay @ 3.11.2010, 16:24) *
Может кто знает как разрешить ситуацию.

может попробовать так:
при изменении контента с помощью аякса, добавлять в хештег сайта (location.hash) определенные значения, с помошью которых можно определить, какая информация загружена с помощью аякса. ( что то на подобии гет параметров). Напрмиер
http://mysite.com/#/news=2
и после window.onload запускать проверку на значении этого хеша, тогда будет работать.


еше можете посмотреть плагин jquery history
в данном случае врядле он подойдет, но аналоги которые можно использовтаь для решения данной проблемы думаю есть)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 3.11.2010, 16:50; Ответить: ZhukV
Сообщение #5


Да, но если переходиш по страницам, переменные очищаються... =(( Я сам так думал сначала сделать
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 3.11.2010, 16:52; Ответить: Alcorn
Сообщение #6


С кэшированием вперёд/назад сталкивался в девятой Opera, ей абсолютно пофиг на всякие заголовки, всё брала из кэша и проблему тогда собственно так и не решил.
Остальные браузеры понимали -
[PHP]
Cache-Control:no-store, no-cache, must-revalidate
[/PHP]

Насчёт ajax - если работает вперёд/назад, то как оно реализовано, с помощью location.hash?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
Topic Starter сообщение 5.11.2010, 16:09; Ответить: Apay
Сообщение #7


Alcorn, все выключалки кеширования (и этот тоже) стоят, но не работают.:wacko:

2 all: у меня при навигации назад даже такой простой скриптик ничего не делает
alert('ку-ку');

не то что более сложные скрипты:hmhm:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
Topic Starter сообщение 19.11.2010, 13:14; Ответить: Apay
Сообщение #8


есть идея постом отправлять на такие страницы случайные числа,тогда точно будет перезагрузка, но это:
1) имхо сильнейший изврат
2) у юзера все время будет выскакивать окошко про то что отправленны какие-то данные, и многих это будет беспокоить: они ничего не делали, а данные отправляются.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ.
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п
6 stu999 1551 21.3.2024, 20:45
автор: stu999
Открытая тема (нет новых ответов) Нужно ли закрывать ненужные страницы тегом noindex, follow?
8 noviktamw 2834 2.3.2024, 12:53
автор: toplinks
Открытая тема (нет новых ответов) Вытащить страницы из кэша Яндекса
2 VostrVL 1915 11.1.2024, 23:07
автор: ЛаврионСергеевич
Открытая тема (нет новых ответов) Получил странную ссылку при линкбилдинге
Как поведет себя поиск при обнаружении странной ссылке?
10 r0mZet 2179 24.10.2022, 19:23
автор: Wachowski
Горячая тема (нет новых ответов) 300 площадок под вечные ссылки на выбор: ТИЦ 20-9400, PR 0-6, ЯК, DMOZ. Скидки при пакетном заказе!
65 inkon 30256 19.7.2022, 13:41
автор: Funoman


 



RSS Текстовая версия Сейчас: 29.3.2024, 13:23
Дизайн