Кнопка возврата IE8 и динамический контент - PullRequest
2 голосов
/ 19 апреля 2011

У меня есть страница, которая извлекает внешний файл JavaScript, который затем динамически генерирует некоторый контент на эту страницу (в основном вставляет несколько DIV и объект Flash).

Когда пользователь уходит с этой страницы и нажимает кнопку «назад», Safari и Firefox отображают сгенерированный контент, а IE 8 - нет.

Как лучше всего сохранять в истории динамический контент в IE? Или мне нужно прослушать какое-то конкретное событие и перезапустить мой JavaScript?

Кстати, у меня есть jQuery, поэтому также приветствуются соответствующие предложения плагинов.

РЕДАКТИРОВАТЬ : вот ссылка на демо: http://mmstest.eenet.ee/embed/281

Если щелкнуть ссылку Google внизу и затем вернуться, Safari и FF снова покажут вам видео, а IE8 - нет.

Ответы [ 2 ]

1 голос
/ 19 апреля 2011

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

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

---- РЕДАКТИРОВАНИЕ ДОБАВЛЕНО ПОСЛЕ КЕШИНГА ---

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

---- РЕДАКТИРОВАТЬ: ОБНОВЛЕНО, ЧТОБЫ ВКЛЮЧИТЬ ПОЛНОЕ РЕШЕНИЕ ИЗ КОММЕНТАРИЙ ---

Чтобы отключить кэширование включенных файлов JavaScript, одним из решений является добавление случайного числа в параметре запроса к URL,так что браузер не будет кэшировать результат.

<script src="jquery.js?t=<?PHP echo rand() ?>">

Это позволяет избежать необходимости изменять настройки веб-сервера для отключения статического кэширования.Файлы JavaScript для всей системы.

0 голосов
/ 19 апреля 2011

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

Вот ветка с некоторыми плагинами Плагин jquery history

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