2016-06-07 3 views
1

Я думал, используя мета-тег, как:сайта не обновляется после использования кнопки Назад

<meta http-equiv="Pragma" CONTENT="no-cache"> 

будет автоматически обновлять свою страницу в соответствии с http://www.4guysfromrolla.com/webtech/111500-1.shtml

однако моя страница не обновляется!

То, что я делаю, - это динамическая загрузка флажков на экран из таблицы базы данных, в которой есть активный столбец, следует ли сначала проверять его, а также обработчик события onclick, который принимает действие на стороне клиента (показывает в другом теге div только активные). Когда я нажимаю кнопку отправки, действие направляется на другую (классическую) страницу asp и сохраняет сторону сервера изменений (активное состояние), однако, когда я нажимаю кнопку «Назад» в своем браузере, код на стороне сервера должен вызываться как динамическая настройка флажки имеют правильное состояние, однако моя клиентская сторона, которая вызывается, когда я переключаю флажок, не является тем же значением, что и я, а не значением, когда страница была впервые загружена, поэтому я думал, что автоматически обновлять страницу было способом, нет кеша. Я думаю, это не дружелюбный к IE, или я делаю что-то неправильно.

Пожалуйста, не запрашивайте URL-адрес, поскольку он является внутренним веб-сайтом. Какая часть кода вам нужна для отправки?

Приведенный ниже снимок имеет состояние не зависания и зависания, соединенное как одно изображение после нажатия кнопки «Назад». Чтобы объяснить ситуацию, на верхнем изображении отображается только один активный получатель. Нижнее изображение показывает 2. Процесс: Я выбираю другого получателя, изначально имеющего только один. Я нажимаю кнопку отправки. Сохраняет второй получатель базы данных. Я нажимаю кнопку «Назад» в своем браузере. В списке активных получателей показывается только один пользователь. Если я вхожу в режим редактирования (наведите указатель мыши на мою зеленую метку), он показывает 2 получателя.

Как это может быть? Загружаются только активные (не зависающие) и полный список серверы!

enter image description here

+1

Попробуйте <тело OnLoad = «document.refresh();»> он работал для меня в подобной ситуации –

+0

Пробовали еще не обновляется, только если я физически нажмите на обновление это делают правильно – Glen

+0

попробовать тело с ничем в кавычках –

ответ

0

Я прочитал через многих постов здесь на переполнении стека на тему, говоривших об обнаружении кнопки назад, я не особенно хочу, чтобы сделать его сложно хорошо для первого таймера этого кода это выглядело сложным, однако мне вспомнилось, что @DaveNorm упомянул вызов document.refresh(), поэтому я решил назвать свою собственную клиентскую функцию, которая фактически выполняет работу по обновлению активного состояния в событии onload, и это сработало, поэтому я пойду с этим.

+0

Хотя 'document.refresh();' может работать в старых браузерах IE, у вас будут проблемы с продвижением вперед, я объяснил, почему [здесь] (http://stackoverflow.com/questions/37669796/site-not-refreshing- после использования компенсирующих кнопок/37675183 # comment62828408_37669796). – Lankymart

0

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

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

<% 
Sub no_cache() 
    Dim Str: Str = "private, no-cache, must-revalidate" 
    Response.ExpiresAbsolute = DateAdd("yyyy", -5, Date()) 
    Response.AddHeader "pragma", "no-cache" 
    Response.AddHeader "cache-control", Str 
End Sub 
%> 

Тогда я могу назвать это из #include с помощью одной строки в любых страницах я не хочу быть кэшируюсь интернет-браузер.

<% 
Call no_cache() 
%> 

  • How to reload a page using Javascript? - Это должно помочь с клиентской стороны обновления, в идеале вы хотите использовать window.location.reload(true); в силу освежать без использования на стороне клиента кэш.
Смежные вопросы