Страницы

Поиск по вопросам

четверг, 29 ноября 2018 г.

Как избавиться от кеширования контента модального окна Bootstrap 2.3.2

Имеется стандартное модальное окно Bootstrap 2.3.2. Оно запускается через Data API
Код ссылки при клике на которой идет запуск модального окна.
ВЫБРАТЬ ГОРОД

Как наверно всем понятно, в виде попытки решить проблему кеширования, при смене родительского региона, в ссылке меняется часть URL а именно параметр rand и параметр region так же меняется. То есть ссылка все время разная, как в атрибуте href так и в data-remote
В итоге, иногда это решение работает а иногда нет. Я вот думаю что эти костыли тут не к месту и создатели Bootstrap не настолько глупы чтобы не справиться с этой проблемой "из коробки". Может как проще это можно решить? Да и вообще решить...
Атрибут data-baseurl добавлен мной для того чтобы скрипт брал базовый URL и на основе его собирал новое значение для атрибутов href и data-remote Google Chrome Версия 53.0.2785.143 m


Ответ

Вопрос актуален для широкий аудитории. На все поднимаемые вопросы необходимо давать подробный и четкий ответ.
Ну раз вопрос актуален для широкой аудитории, то и ответ нужно давать для максимально широкой аудитории.
Чтобы отгрузить данные модального окна при его закрытии, в Bootstrap 2.x можно использовать следующее:
$('#CityModal').on('hidden', function() { $(this).removeData('modal'); });
А в Bootstrap 3 это выглядело бы вот так (https://github.com/twbs/bootstrap/pull/7935#issuecomment-18513516):
$(document.body).on('hidden.bs.modal', function () { $('#CityModal').removeData('bs.modal') });
// Ну и более универсальный вариант $(document).on('hidden.bs.modal', function (e) { $(e.target).removeData('bs.modal'); });
Взято отсюда https://stackoverflow.com/a/18459248/5381547

Комментариев нет:

Отправить комментарий