Empêcher Safari de mettre la page en cache lorsque vous cliquez sur le bouton Précédent
P粉295728625
P粉295728625 2024-01-21 15:00:44
0
2
382

Safari a des problèmes pour charger les anciennes vidéos You Tube lorsque vous cliquez sur le bouton Précédent. J'ai essayé d'ajouter onunload="" (mentionné ici Empêcher le cache sur le bouton retour dans Safari 5) à la balise body mais cela ne fonctionne pas dans ce cas.

Existe-t-il un moyen d'empêcher Safari de se charger à partir du cache sur une page ?

P粉295728625
P粉295728625

répondre à tous(2)
P粉514001887

Toutes ces réponses sont un peu bidouillées. Dans les navigateurs modernes (Safari), ne fonctionne que sur la solution onpageshow,

window.onpageshow = function (event) {
    if (event.persisted) {
        window.location.reload();
    }
};

Mais sur les appareils lents, vous verrez parfois la vue mise en cache une fraction de seconde avant le rechargement. La bonne façon de gérer cela est de définir correctement le Cache-Control sur la réponse du serveur, comme indiqué ci-dessous

'缓存控制','无缓存,max-age=0,必须重新验证,无存储'

P粉495955986

Votre problème est causé par le back cache. Il doit enregistrer l'état complet de la page lorsque l'utilisateur s'éloigne. Lorsque l'utilisateur revient en arrière à l'aide du bouton Précédent, la page peut être chargée très rapidement à partir du cache. Ceci est différent de la mise en cache normale qui met uniquement en cache le code HTML.

Lorsque bfcache charge la page, onload事件不会被触发。相反,您可以检查 onpageshow 事件的 persisted attribut. Il est défini sur false lors du chargement initial de la page. Il est défini sur true lorsque la page est chargée depuis bfcache.

La solution de Kludgish est de forcer un rechargement lorsque la page est chargée depuis bfcache.

window.onpageshow = function(event) {
    if (event.persisted) {
        window.location.reload() 
    }
};

Si vous utilisez jQuery, procédez comme suit :

$(window).bind("pageshow", function(event) {
    if (event.originalEvent.persisted) {
        window.location.reload() 
    }
});
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!