В настоящее время я использую nextJS (с реагированием), и он отлично работает. Я также использую ссылку предварительной выборки данных для ссылок предварительной выборки в приложении, и это работает потрясающе.
У меня есть требование предварительно выбрать пару страниц, созданных с использованием nextJ, но запущенных как отдельное приложение. Я попытался использовать тег rel = prefetch / rel = next, и он отлично работает на chrome и firefox, но похоже, что safari не поддерживает теги prefetch.
Затем я попытался использовать пакет npmjs , но даже это не могло заставить сафари использовать страницу из дискового кэша. Интересно то, что я вижу, как вызовы предварительной выборки (через выборку) идут на вкладке сети в safari (при загрузке страницы), но когда я нажимаю на целевую ссылку html, она все равно получает данные из сети, а не из дискового кэша.
Я также пытался использовать методы api кеша для сервисных работников, чтобы выяснить, не заставит ли это сафари отображать страницу из кеша, и я вижу, как происходят вызовы извлечения, но safari не использует данные из кеша, когда я нажимаю целевой URL.
render(){
const cacheName = 'testcache';
const deviceURL = this.props.device.PDPPageURL.toString().replace(/^.*\.com/g, "");
if(typeof(window) !== 'undefined' && window){
if ('caches' in window) {
caches.open(cacheName).then(cache => {
cache.add(deviceURL).then(() => {
console.log('\n Apple urls Added to cache ');
});
});
}
Есть ли обходной путь для реализации этого требования во всех браузерах?