J'ai une page Java / Wicket qui génère un fichier JNLP qui lance le logiciel de mon entreprise. Cette classe prendra éventuellement des paramètres d'URL et les intégrera comme des arguments dans le JNLP. Lorsque l'utilisateur lance ce fichier JNLP, l'application client effectue une fonction basée sur ces paramètres. Si le logiciel client est déjà exécuté sur la machine, frappez la page JNLP tentera de nourrir ces paramètres via un appel distant au client exécutant au lieu de lancer une nouvelle page.
Cette partie est la suivante: j'ai des problèmes. Sur IE, Firefox et Chrome, je pourrais ouvrir un nouveau client, mais essayer de toucher à nouveau la même URL pour renvoyer un fichier JNLP. J'ai trouvé que Clearing the Browser Cache corrige ce problème sur tous les navigateurs. De plus, je ne peux pas sembler avoir frappé des points d'arrêt dans la classe JNLP, ce qui applique mon hunch que c'est plus un problème avec la demande que quelque chose d'étrange avec Wicket. P>
i Mettez le code suivant dans ma classe de page, qui s'étend Cela ne semble pas fonctionner, car Firefox 3.6 semble toujours cache le résultat. IE 7 fonctionnera mais seulement après avoir essayé le lien que je crée plusieurs fois. Je ne connais pas beaucoup de choses sur le développement Web et le guichet et c'est nouveau pour moi, il est donc possible que cela me manque quelque chose de simple. P> TL; DR: Comment puis-je obtenir une page de guichet pour ne pas mettre en cache le navigateur client? p> p>
6 Réponses :
Veuillez vérifier la page suivante: HTTPS : //web.archive.org/web/20120104201334/http: //palisade.plyntnt.com: 80 / Problèmes / 2008jul / Cache-Control-Attributs / P>
Firefox devrait honorer l'en-tête "Cache-Control". P>
Bien que cela ne résout pas directement mon problème, ce lien est vraiment génial et explique ce que font toutes ces directives. Je ne suis pas vraiment un gars Web, alors beaucoup de choses sont un mystère pour moi.
Je ne sais pas très bien le guichet mais avez-vous essayé d'utiliser Il semblerait naturel que votre serveur vérifierait le Si cela ne vous aide pas, je vous suggérerais d'obtenir Firebug pour Firefox et jetez un coup d'œil aux demandes et réponses. P> webresponse.setlastModifiedtime (heure) code>? Je sais que FF envoie un
if-modifié - depuis code> en-tête sur lequel votre serveur répondrait avec
304 non modifié code> ou la réponse normale. p>
lastmodifiedtime code> sur
webresponse code> pour décider. p>
Un piratage utilisé dans certains des internaux de guichet (voir par exemple la source de Fondamentalement, si vous générez les URL des appels de navigateur, vous pouvez ajouter un paramètre ignoré par l'application Web qui varie au hasard et imprime le navigateur dans l'ignorance de son cache. P> org.apache.wicket.markup.html.image.noncachingimage code>) est d'ajouter du bruit aléatoire à l'URL. < / p>
Cela semble être le seul moyen facile, car la solution de Joao Pinto ne semble pas fonctionner avec aucun navigateur, les pages étant servies par Jetty 6.
response.setHeader( "Expires", "0" ); response.setHeader( "Cache-Control", "no-store, no-cache, must-revalidate, max-age=0, private" ); response.setHeader( "Pragma", "no-cache" ); This works with IE, Firefox and so on, the only browser with which it certainly does not work is konqueror.
guichet 6.11.0: Application.get (). GetResourcesettes (). SetDefaultCacheduration (durée.none); p>
Avez-vous déjà essayé de charger des pages à l'aide de window.Location.replace? p>
Avez-vous essayé d'ajouter code> dans le marquage de la page?