Вопрос Как заставить Internet Explorer (IE) ДЕЙСТВИТЕЛЬНО перезагрузить страницу?


При использовании Internet Explorer 8 для тестирования моего веб-приложения я часто нахожу, что он не перезагружает страницу, поэтому я не вижу изменений. Это привело к большому количеству потраченного впустую времени и разочарования, задающегося вопросом, почему мое исправление «не работает» - когда на самом деле браузер никогда не загружал фиксированную версию.

Я попробовал кнопку «Обновить». я пробовал F5, контроль-F5, контроль-р, контроль-сдвиг-р, держа контроль нажав кнопку «Обновить», все, о чем я мог подумать, - это фактически не загружает новое содержимое с сервера. Я подтвердил это с помощью Fiddler.

Как сообщить IE "Мне все равно, что вы думаете, что вы кешировали, я хочу перезагружать страница - нет, я, я это означает на этот раз, честно говоря, я хочу, чтобы ты на самом деле перейдите на сервер и загрузите все снова«?


145
2017-12-09 23:52


происхождения


Может быть, использовать окно просмотра? - Josh Lee
Возможно ли, что ваш веб-сервер обслуживает старую страницу (через кеш) вместо новой версии? Неважно, сколько раз вы перезагружаете в этом случае. - Michael Todd
Майкл, нет, я проверил в Fiddler, что IE не получает содержимое страницы с сервера. - EMP
Control + F5 проходит мимо кэша, это странно, если нет. - Tom Wijsman
Лучшая формулировка вопроса, который я встречал до сих пор на StackExchange! - user785529


ответы:


  1. Выбрать Инструменты >> Параметры Интернета,
  2. Нажмите настройки в История браузера,
  3. Выберите Каждый раз, когда я посещаю веб-страницу переключатель.
  4. Нажмите ОК для закрытия диалога настроек.
  5. Нажмите ОК для закрытия диалогового окна «Свойства обозревателя».

119
2017-12-09 23:57



Если это то, что вы сделали, отметьте это как ответ - Earlz
Это может повредить общей производительности браузера, но только если вы выполняете общий просмотр с помощью IE ... - Joel Mueller
Ev: Сторона, обращенная к пользователю, обычно фиксируется путем изменения URL-адресов для всех сценариев и таблиц стилей каждый раз, когда вы касаетесь кода, обычно добавляя ?version-number суффикс строки запроса. - bobince
«Каждый раз, когда я посещаю веб-страницу, скорее всего, не делает то, что, по вашему мнению, делает. Видеть fiddler2.com/redir/?id=httpperf - EricLaw
Я согласен с @EricLaw, если вы используете Fiddler, вы увидите, что файлы, связанные со страницей, иногда не перезагружаются, даже когда «Каждый раз, когда я посещаю веб-страницу». Используйте меню панели инструментов IE: Cache> Всегда обновлять с сервера или кнопку Clear Cache в Fiddler. - Phillip Ngan


Поскольку указано, что IE8 является браузером, вы можете нажать F12 чтобы открыть инструменты для разработки и выбрать меню «Кэш» вверху, а затем всегда обновлять с сервера, чтобы обойти кеш.

Вкратце, Нажмите F12, Нажмите кэш -> Всегда обновлять с сервера

Вы можете просто очистить свой кеш здесь, если это желаемое действие. Параметр всегда обновлять не является глобальным вариантом и не будет препятствовать общей производительности в IE.

В IE7 также есть инструменты для разработки, но они должны устанавливаться отдельно. Вы также можете использовать инструменты IE8 для запуска браузера в режиме IE7.


41
2017-07-08 18:30



+1 для решения этой проблемы без использования глобальной опции. - Marcus Riemer
Похожий на Вот, который все еще не всегда обновляет весь контент. И я не знаю, что эта перезагрузка хороша в URL-адресах: каждое окно, кажется, имеет свой собственный F12 порой. Эта это более тщательный способ, если, если у вас есть доступ к javascript include. - ruffin
Как вы это делаете в IE 11? Нет опции кеша, которую я могу найти. - David Thielen
В IE 11 этот параметр находится под F12 -> Сеть -> 3-й значок слева. - Den


Ctrl+F5 в IE перезагружает страницу, игнорирующую кеш


22
2017-12-10 00:38



Нет, нет. Я знаю, что он некоторое время игнорирует кеш, но не все время. - EMP
Ctrl + f5 всегда перезагружает страницу с сервера. То, что это не обязательно, - это перезагрузка дополнительных файлов, которые ссылаются на страницы
Достаточно справедливо - но мне нужно, чтобы перезагрузить ВСЕ. - EMP
CTRL + F5 должен полностью обновить страницу и все ее ресурсы. Вызовы, сделанные через XMLHTTPRequest позже, могут быть кэшированы (если вы не хотите, чтобы они кэшировались, отправляли соответствующие заголовки no-cache). Одно из предостережений заключается в том, что если рассматриваемая страница является XML, она действительно загружается через MSXML и что DocHost НЕ уважает CTRL + Refresh должным образом. - EricLaw
ctrl + f5 не всегда перезагружает все с сервера. В моих тестах javascript, содержащийся в html-файле, не перезагружается после нажатия ctrl-f5, даже если страница изменилась. - rcarver


IE очень хочет кэшировать страницы, даже если вы рассказываете об этом не через кеширующие заголовки. Microsoft KB 234067 объясняет необходимые заклинания. Короче говоря, вам нужно предоставить следующие заголовки.

Pragma: no-cache
Cache-Control: no-cache
Expires: <some time in the past>

настройка Expires = -1 (как рекомендовано в статье KB), должны работать для большинства фреймворков; браузеры должны обрабатывать недопустимые форматы дат в прошлом (RFC 2616).

В .NET вы можете сделать это по разметке страниц за страницей, используя этот набор методов до вызова веб-страницы:

HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Response.Cache.SetValidUntilExpires(false);
HttpContext.Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches);
HttpContext.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
HttpContext.Response.Cache.SetNoStore();

видеть: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Хорошо работает для MVC3.0.


14
2017-12-10 01:31



Неправда. IE6 + полностью уважает все запрещающие кеширование заголовки. fiddler2.com/redir/?id=httpperf - EricLaw
Это все очень хорошо, но не помогает WRT вопрос. - Matthias Urlichs


Панель инструментов веб-разработчика имеет кнопку, позволяющую легко очистить кеш. Обычно я использую это в случае, когда вы описываете.

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


6
2017-12-09 23:58





Это все еще происходит в IE9. Удивительно, но ответ Ctrl-сдвигКнопка -Refresh


4
2018-04-01 03:47



Отличается ли эта функция от кнопки Ctrl-Refresh? - Jon Onstott


Кстати, проблема, возможно, будет и у ваших зрителей. Я видел следующую идею в книге AJAX ...

Используйте PHP, чтобы добавить случайный токен к текущему URL-адресу, чтобы браузер был обманут, думая, что это отдельная страница.


3
2017-12-10 00:14



Однако URL-адреса уродливы. - LawrenceC


У меня была такая же проблема. Я считаю, что единственный способ сделать это - очистить кеш (Безопасность -> Удалить историю просмотров). Проверьте только «Временные файлы Интернета».

Надеюсь это поможет.


2
2017-12-09 23:58





Удерживайте альт или Ctrl когда вы нажмете кнопку обновления.


2
2017-11-17 15:36





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

Помимо метода случайного токена, который я обычно делаю для принудительной полной загрузки (запроса) страницы и всех ее зависимых файлов, я просто помещаю курсор в конец URL-адреса и нажимаю Enter. Работает каждый раз ... и я использую IE 8.


1
2017-08-12 02:58