Bonjour,
Je rencontre des difficultées à effectuer une certaine chose sur un site que je développe actuellement.
Voilà l'idée:
j'ai développé un player flash capable de recevoir des actions depuis javascript et je l'ai intégré dans une page html toute basique (avec gestion de la playliste html en Javascript), à utiliser en tant que popup sur la page principale d'un blog.
Alors, sur le blog, un bouton permet de faire apparaitre le player (avec window.open), mais sur les billets on peu trouver aussi des liens permettant de jouer un fichier dans le player (dans son popup).
Le choix du popup est justifié par le fait que la lecture n'est pas arrêtée avec la navigation sur le site.
Le probleme est provoqué par la méthode qui permet de load un fichier dans le player. Aucun soucis si le popup est déjà ouvert. Cependant, s'il ne l'est pas, je le fais ouvrir avant de loader le fichier a écouter (fonction JS sur mon window), cependant, cela provoque une erreur. JS semble ne pas avoir loadé les actions JS du popup fraîchement ouvert ?!
Le tout est déjà visible içi : http://www.satellite67.com/blog/
Js du le blog :
Js du player:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 var player_window = null; function PlayerPlay(name,url) { PlayerOpen(); player_window.addToPlaylist(name,url,true); return false; } function PlayerOpen() { // methode permettant de recuperer l'instance de popup deja ouverte. var url = 'http://www.satellite67.com/medias/sputnik/player.html'; var params = 'width=520, height=300, left=80, top=80, menubar=0, toolbar=0, scrollbars=1, location=0, directories=0, resizable=1, status=0'; player_window = window.open( '', "satellite67player", params ); if( !player_window || player_window .closed || !player_window .doSomething ) { player_window = window.open( url, "satellite67player", params ); } else { player_window.focus(); } return false; }
Si vous avez d'autre suggestions d'améliorations, n'hesitez pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 self.focus(); function doSomething() {} function playfile(filename,trackname) { document.getElementById("sputnik").play(filename,trackname); } function getNext() { playing = $('.playing'); next = playing.parent().next().children(); if(next.length == 0) { next = $("#playlist li:first a"); } playing.toggleClass('playing',false); next.toggleClass('playing',true); next.click(); } function playlistNext() { getNext(); } function displayPlaying(item){ $("#playlist li a").toggleClass('playing',false); item.toggleClass('playing',true); } function playEventAction(e){ e.preventDefault(); playfile($(this).attr('href'),$(this).html()); displayPlaying($(this)); } function addToPlaylist(title,filename,playNow){ element = $("#playlist").append('<li><a href="'+filename+'" >'+title+'</a></li>'); track = $("#playlist li a").last().click(playEventAction); if(playNow){track.click();} } $(document).ready(function(){ $("#playlist li a").click(playEventAction); });
Merci d'avance!
Partager