У нас есть веб-приложение (одностраничное приложение, поддерживаемое REST API), которое в основном используется на смартфонах. Пользователям предлагается создать значок рабочего стола, чтобы они имели легкий доступ и полный экран. Это работало нормально, пока мы не решили выпустить новую версию нашего приложения. Некоторые браузеры кэшируют старую версию и отказываются обновлять приложение, даже когда пользователь заставляет перезагружать.Избегайте проблем с кешем для веб-приложения с iframe
Это серьезная проблема при обновлении API REST, но браузер все еще использует устаревшую версию веб-приложения. Нам нужно, чтобы браузер кэшировал все, когда это было возможно, но мы также хотим перезагрузить, когда выпущена новая версия.
Теперь мы рассматриваем возможность использования iframe для устранения этой проблемы. Мы создали index.html, который содержит iframe и небольшой фрагмент Javascript, который выполняет XMLHttpRequest на REST-сервере, чтобы выяснить текущую версию. Эта версия затем используется для установки src-attibute iframe, так что iframe загружается текущей версией нашего веб-приложения.
Решение, похоже, работает, но мне было интересно, нет ли лучшего решения этой проблемы. Можно ли использовать iframe для решения этой проблемы или вызвать другие проблемы (на некоторых браузерах/устройствах)?
Редактировать: Мы не можем использовать серверные скрипты, поэтому auto-versioning не является для нас решением.
Какие типы файлов вы не хотите кэшировать? Что это за приложение? (php, .net и т. д.) –
Возможный дубликат [Как заставить браузер перезагружать кэшированные файлы CSS/JS?] (Http://stackoverflow.com/questions/118884/how-to-force-browser-to-reload-cached-css-js- файлы) –
Можете ли вы показать вызов API? –