Bonjour

J'ai installé une zoombox à lancement de ma page html qui contient une video en flv. La page se lance, la zoombox aussi, sans probleme, à l'aide de la fonction zoombox.open. J'aimerai pouvoir fermer automatiquement cette zoombox à la fin de la lecture de la vidéo. J'ai trouvé ce script : window.parent.zoombox.close(); qui permet de fermer automatiquement la zoombox, mais elle n'attend pas la fin de la video, elle l'a ferme avant meme le lancement de celle-ci.

Auriez vous une petite idée?

Merci

3 réponses


Grafikart
Réponse acceptée

Faudrait que ton player vidéo détecte la fin de la vidéo (donc que le player soit fait par toi) et lance un appel javascript vers une fonction qui ferait le window.parent.zoombox.close();

Autrement c'est impossible.

PS : Si c'est une vidéo youtube/Dailymotion tu peux détecter la fin de la vidéo en Javascript directement (va voir sur les API)

automatiquement, je ne pense pas, peut être avec la fonction timer() (idée d'un chronomètre!!!) mais c'est très contraignant. Tout le monde n'a pas le même débit donc impossible d'avoir un temps commun pour tout les habitants.
Je m'explique, une video de 10minutes dure 10 minute. Mais il est con ce mec. Non je continue. En streaming tu as 2 phases, le chargement ou préchargement et la lecture.
Le préchargement est la phase qui varie entre les différents internautes mais également qui varie au niveau de la disponibilité du serveur hebergeant la video. Par exemple, deux internautes l'un a coté de l'autre n'afficheront pas ou plutot ne chargeront pas la même video à la meme vitesse.
Donc l'idée d'un timer n'est pas la bonne.
Théoriquement, il faudrait dire à la video, "bon quand tu es à la fin, fait stp window.parent.zoombox.close(); Mais je ne pense pas que je plus t'aider.

Désolé
leknoppix

Alors, peut être une solution mais ça va être un peu compliqué. Il faut créer un player JS (mais là je pourrais pas du tout t'aider) et avoir par exemple une variable "tempsdelavideo" et donc à ce moment là tu dis : "si la vidéo est à la fin, donc à **mn et **sc, alors tu fais window.parent.zoombox.close();.

Je pense que ça donnerait ça (en prenant par exemple 1 minutes et 10 secondes de vidéo) :

if(tempsvideo == 70){
window.parent.zoombpx.close();
}

C'est tout con mais tout repose sur le player JS ;)