Bonjour à tous,

J'ai un problème avec un javascript utilisé dans mon entreprise. Mon script change la source d'une iframe et boucle pour afficher un certain nombre de pages.

Le script est utilisé pour faire de l'affichage sur des écrans. Il marche parfaitement sauf qu'au bout d'un certain temps la source continu à changer mais j'ai des pages blanches ou grises (quand c'est un fichier pdf qu'il veut afficher)...

J'ai pensé à un problème de cache donc j'ai ajouté les balises html pour ne pas mettre les pages en cache mais cela ne règle pas le problème.

Mon code :
Code html : 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
<html>
	<head>
		<!-- Permet de ne pas mettre la page en cache -->
		<meta http-Equiv="Cache-Control" Content="no-cache">
		<meta http-Equiv="Pragma" Content="no-cache">
		<meta http-Equiv="Expires" Content="0">
		<!-- Fin de la gestion du cache -->
 
		<!-- Script de changement de source pour l'iframe. -->
		<script type="text/javascript">
                        // Fonction récursive
                        function changerSite(num){
                                var numSite = num;
                                // dossier racine
                                var dossier = "http://trixmes01/mes_reporting/";
                                // pages à afficher. On peut en ajouter autant qu'on veux sans changer la suite du script
                                var site = new Array("page1.aspx",
                                                                        "page2.aspx",
                                                                        "PDF/fichier.pdf#page=4",
                                                                        "page3.aspx",
                                                                        "page4.aspx");
                        
                                        if(numSite>=site.length) numSite = 0; // Valeur limite
                                        // On change la source de la frame en fonction du numero de site appelé
                                        window.frames['frame'].location = dossier + site[numSite];
                                        // Après 120 secondes on rappel la fonction avec le numero de site suivant
                                        numSite = numSite + 1;
                                        setTimeout("changerSite(" + numSite + ")",120000); // Récusivité en appliquant un délai
                        }
                </script> 
 
 
 
	</head>
	<!-- Au chargement de la page on lance la fonction changerSite -->
	<body onLoad=changerSite(0);>
	<!-- Une frame qui prend la taille de l'écran à 100%. On supprime la barre de défillement et les bordures -->
		<iframe name="frame" width="100%" height="100%" frameborder="0" scrolling="no" src="" >
	</body>
 
</html>

Si vous avez des idées je suis preneur