JQuery очистить кеш при выходе - PullRequest
14 голосов
/ 14 июля 2011

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

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

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

Ответы [ 3 ]

6 голосов
/ 15 июля 2011

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

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

/ exit:

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

/ my.js:

jQuery('#exitPage').live('pagebeforecreate', function(){
    jQuery(document).empty();
    window.location.replace('/');
});
1 голос
/ 14 июля 2011

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

0 голосов
/ 14 июля 2011

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

...