2010-10-01 5 views
3

YouTube a accompli un exploit en faisant fonctionner des vidéos YouTube avec le cache. Cependant, cela provoque un problème sur mon site ajax et j'aimerais savoir s'il existe un moyen de désactiver les vidéos YouTube mises en cache. Surtout dans Internet Explorer.Désactiver la mise en cache des vidéos YouTube

Je ne peux pas désactiver la mise en cache pour toute la page car j'ai besoin de la mise en cache pour travailler sur des images et d'autres contenus pour des raisons de vitesse.

Quelqu'un connaît des solutions?

+0

quel genre de problème cela cause-t-il? –

+0

Lorsque nous rechargeons la page chaque fois que IE prend plus de temps pour commencer à lire la vidéo. Parfois, il ne joue jamais et une erreur revient de YouTube disant que la vidéo n'est pas disponible. Si j'efface le cache, il se charge de nouveau correctement. – UpHelix

Répondre

4

Assurez-vous que chaque utilisateur de temps est en cours de téléchargement à partir d'une URL unique. Votre code de joueur contient quelque chose comme ceci:

http://www.youtube.com/v/sMiUpl_6jI0?fs=1&hl=en_GB 

Ceci est l'URL du lecteur YouTube. Tout ce que vous avez à faire est d'ajouter nouveau jeton généré aléatoirement à la fin, comme (par exemple PHP):

http://www.youtube.com/v/sMiUpl_6jI0?fs=1&amp;hl=en_GB&amp;noCachePlease=<?php echo uniqid() ?> 

Chaque fois que vous visitez la page que l'URL contient un jeton unique de sorte que le navigateur n'utilisera pas cache mécanismes.

+0

Excellente idée, je le fais avec des pages ajax que IE cache. Je ne sais pas pourquoi je n'ai pas pensé à l'utiliser ici. Facilement fait avec JS. youtubeUrl + = '& noCache =' + Math.random(); Je vais le tester. – UpHelix

+0

Après avoir testé cela, il ne semble pas fonctionner. Cela a peut-être marché à un moment donné, mais je peux comprendre pourquoi YouTube voudrait "réparer" cela afin de ne pas gaspiller de bande passante. – gavaletz

0

Cette meta tags pourraient aider:

<meta http-equiv="Expires" content="0"> 

ou

<meta http-equiv="Pragma" content="no-cache"> 

je crois que le second est ce que vous recherchez. Regardez-le, à coup sûr quelqu'un a un bon tutoriel. Si je me souviens bien, il n'est pas possible de l'effacer, sauf si l'utilisateur le fait par ses propres moyens.

acclamations

+2

Malheureusement, les en-têtes HTTP n'affectent pas le comportement de mise en cache des vidéos flash, essayez de mettre un fichier SWF simple dans une page HTML et vous verrez qu'il sera toujours mis en cache quel que soit l'en-tête HTTP défini dans cette page. Ce que vous avez suggéré fonctionne pour un contenu Web normal tel que des images mais pas des fichiers flash. –

Questions connexes