Comment faire pour effacer le cache d'un iFrame?
J'ai une page web dans laquelle je suis en train d'actualiser une iFrame. Je suis en train de le faire avec quelque chose comme un <input />
bouton et javascript. Je n'arrive pas à obtenir l'iFrame pour recharger sans effacer le cache. Prise en PHP pour effacer le cache serait encore mieux.
ÉDITION-MISE À JOUR
Voici le travail de mise en œuvre de la ligne.
<input type="button" onClick="javascript: var iFrame = document.getElementById('compilePreview'); iFrame.src = '<? echo ($myFile); ?>?random=' + (new Date()).getTime() + Math.floor(Math.random() * 1000000);" value="Reload Preview" />
<iframe id="compilePreview" src="<? echo ($myFile); ?>" width="940"></iframe>
Et grossier de la onload est dès à suivre, éliminant le besoin pour le bouton.
<script>
window.onload=refreshIframe;
function refreshIframe(){
var iFrame = document.getElementById('compilePreview');
iFrame.src = '<? echo ($myFile); ?>?random=' + (new Date()).getTime() + Math.floor(Math.random() * 1000000);
}
</script>
- Pouvez-vous montrer la méthode exacte de la manière dont vous essayez de recharger l'iframe?
- pouvez-vous ajouter un cache buster à la fin de l'URL de l'iframe? quelque chose comme de l'url + "?ts=" + new Date().getTime()
- Oui, avoir un pet cerveau sur la mise en œuvre. Maintenant, grâce à jfriend00 pour l'obtention des engins de broyage.
Vous devez vous connecter pour publier un commentaire.
Le premier choix est probablement pour contrôler la mise en cache du navigateur pour l'iframe page à partir de votre serveur web, soit avec des en-têtes HTTP ou avec
<meta>
tags (voir référence).Si vous ne pouvez pas changer cela, alors vous pouvez définir un
.src
dans l'iframe qui a un autre paramètre de requête à chaque fois pour aller autour de la mise en cache.Par exemple:
C'est quelque chose que vous devriez faire sur le côté serveur, contrôlées par les en-têtes HTTP de la sorte:
Vous pourriez faire quelque chose comme
Qui permettrait d'OBTENIR des paramètres dans l'URL sans avoir à se soucier de savoir si l'utilisation ? ou & pour votre aléatoires.
#
n'est pas envoyé au serveur donc je ne pense pas que cela influence la mise en cache