F5 не полностью обновляет мою страницу - PullRequest
1 голос
/ 24 октября 2011

У меня есть довольно сложная веб-страница, которая использует много Ajax и Javascript. Моя проблема в том, что этот Javascript манипулирует фоновым изображением в div (прокручивая его в стороны). Когда я нажимаю F5 (в основном в FF), это вызывает только «половинное» обновление. Содержимое обновляется, но фон в div остается в том же положении. Это вызывает проблемы, потому что смещение вычисляется неправильно (скрипт думает, что фон находится в начальной позиции, но на самом деле он перемещен).

Есть ли способ заставить полное обновление избавиться от этой проблемы? Я использую JQuery для моего Javascript. Обходной путь должен был бы проверить смещение при нагрузке, но это было бы проблемой в заднице, чтобы реализовать в этом пункте.

Есть идеи?

РЕДАКТИРОВАТЬ: изображение, вызывающее эту проблему не загружается с использованием JavaScript или AJAX. Это чистый, статичный HTML.

Ответы [ 5 ]

2 голосов
/ 24 октября 2011

Попробуйте использовать «Ctrl + F5», это заставит ваш браузер перезагрузить каждый контент на странице.

1 голос
/ 24 октября 2011

Почему бы вам просто не сбросить состояние фона до его значения по умолчанию при загрузке страницы? Есть ли причина, по которой это не сработает?

$(document).ready(function(){
  // Set whatever value you're changing to make the background move to it's default
  $('.changing-background').css({
    'left' : ?px,
    'background-position' : ?px ?px
    // Whatever you're using

  })
})
1 голос
/ 24 октября 2011

Добавьте уникальную строку в конец вашего пути к файлу javascript, например, test.js? NoCache = 99999999 . Это заставит браузер думать, что это не кэшированный файл, и каждый раз загружает новую копию.

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

0 голосов
/ 24 октября 2011

Если вы только что нажали F5, он загрузит содержимое из кэша. Так что используйте "Ctrl + F5" . Он обновляет кэш браузера также во время перезагрузки.

0 голосов
/ 24 октября 2011

В Mozilla Firefox Ctrl+Shift+P запускает приватный просмотр, и ничто не кэшируется.или вы можете установить cache:false на ваши запросы Ajax, такие как

$.ajaxSetup({
cache:false
});

add no-cache

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

дополнительную информацию можно найти здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...