Подтвердить что ты не робот

JQuery очистить кеш при выходе из системы

Когда пользователи выходят из моего мобильного приложения, как я могу убедиться, что кеш очищен?

То, о чем я думаю, это перенаправление/выход на определенную страницу, которая очищает кеш и перенаправляет на первую страницу, но как я могу удалить все из кеша?

Я использую jQuery Mobile 1.0b2pre.

4b9b3361

Ответ 1

Вот как я его решил:

My /logout действие, в котором сеанс пользователя уничтожается при переадресации бэкенда на /exit, который имеет атрибут id exitPage. В моем JavaScript я попросил jQuery Mobile вызвать, когда эта страница будет создана. Затем я удаляю DOM и перенаправляю на первую страницу.

/выход:

<div data-role="page" id="exitPage"></div>

/my.js:

jQuery('#exitPage').live('pagebeforecreate', function(){
    jQuery(document).empty();
    window.location.replace('/');
});

Ответ 2

вы не можете очистить кеш. но то, что вы можете сделать, это определить пользователя на основе его идентификатора сеанса и добавить его к URL-адресам ресурсов someimage.png?cachecontrol=blablalba в следующий раз, когда он войдет, у него будет новый идентификатор сеанса, поэтому он получит новые файлы, даже если старые в кеше. другим решением будет явно установить заголовок управления кешем в no-cache. но вы не можете заставить его браузер очистить кеш

Ответ 3

Чтобы избежать изменения URL-адреса всех ваших страниц, вы можете отправить заголовок ETag с каждым ответом в сеансе на основе идентификатора сеанса. Если вы также включаете Cache-Control:must-revalidate, это должно сделать трюк.