WebView читает локальный index.html с внутренний памяти приложения. в этот index.html подключается рядом лежащий app.js обычным
<script src="app.js"></script>
в ходе работы приложения app.js изменяется. есть кнопка, которая просто перезагружает WebView.
проблема: на 1 устройстве (на остальных все ок), изменения в app.js не происходят. WebView словно кэширует весь код и в упор не видит изменений.
web.clearCache(true);
Если чистить кэш перед перезагрузкой страницы, то все работает отлично. вот только кэш в приложение должно наоборот кэшировать данные, поэтому этот вариант отпадает.
Как заставить WebView считать заново весь код, не очищая при этом кэш самой страницы (картинки)?
Попробуйте сделать это после изменения текста скрипта
[...document.scripts]
.filter(s => ~s.src.indexOf('app.js'))
.pop().src = 'app.js?' + Date.now()
<script src="app.js"></script>
заменил <script src="app.js"></script>
на
<script>
var url = 'app.js';
var oldScript = document.getElementById(url);
if (oldScript)
oldScript.remove();
var scr = document.createElement('script');
scr.id = url;
scr.src = url + '?t=' + Math.random();
document.getElementsByTagName('head')[0].appendChild(scr);
scr.onload = callback;
</script>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
ПримерВот тут, в самом нижнем посте картинка с котиком, под спойлером:
Есть коллекция Dictionary(string,int) которая привязана к ComboBoxПри выборе 1 из пунктов в ComboBox мне необходимо положить значения взятые из него в разные...
Я решил добавить Ninject в проект из Identity(Проект Web API)Без него все работало нормально