Я пытаюсь использовать следующий фрагмент кода в моем index.html
.
<script>
fetch('index1.js').then(response => {
caches.open('test-cache').then(cache => {
cache.put('index1.js', response);
})
})
</script>
У меня есть собственный домен на локальном хосте с именем test-website.com
. Когда я захожу на эту страницу через chrome, все хорошо, и index1.js
сохраняется в кеше. Теперь я включаю ios Simulator
, открываю там сафари и снова запускаю тот же сайт. Я также проверяю этот сайт на ma c safari, но в консоли вот что я получаю:
Необработанный отказ от обещания: ReferenceError: Невозможно найти переменную: caches
Вопрос 1) Почему я получаю эту ошибку?
Вопрос 2) Я проверил совместимость: Cache Storage API и Cache . Первый совместим с ios safari
, второй - нет. В чем разница между этими двумя? и может ли это быть причиной того, что он не может найти кеш?
Вопрос 3) Apple поддерживает работника сервиса и должна поддерживать Cache API
. Иначе это не имеет смысла. Есть идеи?