Bonjour à tous.
Je viens vers vous car je rencontre un léger problème de navigateur entre Firefox et Chrome.
Je suis en train de faire une page qui me permet d'atteindre plusieurs caméras ip qui ont toute une adresse ip fixe.
J’atteins donc les contrôles cgi de chaque caméras et pas le serveur http de chaque caméras.
Pour atteindre les caméras je passe par un ProxyPass ce qui me permet de n'ouvrir que un seul port plutôt qu'un port pour chaque caméra avec chaque fois une redirection.
Pour le moment je suis en local donc du coté du ProxyPass le travail s’effectue très bien et j'ai de très bon résultat de ce coté là.
J'accède aux caméras par un événement "click" qui va me changer l'attribut "src" dans une balise html <iframe>.
Ou cela ne fonctionne plus c'est lorsque je teste le navigateur Chrome, là j'ai toujours un affichage mais plus de boutons de contrôles ceux-ci ne fonctionnent plus alors qu'avec Firefox c'est ok.
Voici le code HTML
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <form id="formPosi" action="" method=""> <input id="p1" type="button" name="p1" value="1"> <input id="p2" type="button" name="p2" value="2"> <input id="buttonstop" type="button" name="stop" value="Stop"> </form> <div id="screen"> <iframe id="iframe" src="" width="640" height="480" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" style="border:0" allowfullscreen></iframe> </div>
Voici le code JS
A partir de la ligne n°42 du code JS cela ne fonctionne plus avec Chrome avec deux setAttribute() mais avec Firefox ça passe. Là je ne comprend pas pourquoi !
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
51
52
53
54
55
56
57 var cam = 0; var move; var posi; var buttonCam1 = document.getElementById('button1'); var buttonCam2 = document.getElementById('button2'); var buttonStop = document.getElementById('buttonstop'); /*Gestionnaire d'évènements*/ buttonCam1.addEventListener('click', afficheCam1); buttonCam2.addEventListener('click', afficheCam2); buttonStop.addEventListener('click', afficheStop); function afficheCam1(){ iframe.setAttribute('src','/live/cam1/videostream.cgi?user=<?php echo $user; ?>&pwd=<?php echo $pwd; ?>'); cam = 1; } function afficheCam2(){ iframe.setAttribute('src','/live/cam2/videostream.cgi?user=<?php echo $user; ?>&pwd=<?php echo $pwd; ?>'); cam = 2; } function afficheStop(){ iframe.setAttribute('src','../../css/media/images/640x480.jpg'); cam = 0; } /*Fonctions qui appelants les fonctions d'exécution de positions*/ function move_p1(){ var posi = "p1"; execute_move_posi1(cam,posi); }; function move_p2(){ var posi = "p2"; execute_move_posi2(cam,posi); }; /*Exécution des fonctions de Positions présélectionnées, reçoit deux arguments*/ function execute_move_posi1(cam,posi){ if(cam != 0 && posi == "p1"){ iframe.setAttribute('src','/live/cam'+ cam +'/decoder_control.cgi?command=31&user=<?php echo $user; ?>&pwd=<?php echo $pwd; ?>'); iframe.setAttribute('src','/live/cam'+ cam +'/videostream.cgi?user=<?php echo $user; ?>&pwd=<?php echo $pwd; ?>'); } else{ afficheStop(); } } function execute_move_posi2(cam,posi){ if(cam != 0 && posi == "p2"){ iframe.setAttribute('src','/live/cam'+ cam +'/decoder_control.cgi?command=33&user=<?php echo $user; ?>&pwd=<?php echo $pwd; ?>'); iframe.setAttribute('src','/live/cam'+ cam +'/videostream.cgi?user=<?php echo $user; ?>&pwd=<?php echo $pwd; ?>'); } else{ afficheStop(); } }
Pouvez-vous s'il vous plaît m'aider car je ne vois vraiment pas ce qui empêche Chrome d'appliquer la ligne 42 et 43 à la suite de l'autre ?
Je vous remercie bien.
Partager