/** * Properiété par défaut d'une frame. */ var defaultFrameProperties={ width:"330", height:"430", marginwidth:"0", marginheight:"0", hspace:"0", vpsace:"0", frameborder:"1", scrolling:"no" }; /** * Contient la liste des intervals (il va y en avoir autant qu'il y a d'iframe). */ var listIntervals = new Array(); /** * Liste des urls. */ var randomcontent=["P_2.html","P_3.html","P_4.html","P_5.html"]; /** * liste des iframes à créer, enregistrement du type: * { * frameId:"identifiant de l'iframe à créer", * timerRefresh:durée de entre chaques rafraîchissement exprimé en seconde". */ var listFramesId = { frames:[ { frameId:"frame1", timeRefresh:25 }, { frameId:"frame2", timeRefresh:6 }, { frameId:"frame3", timeRefresh:7 } ] }; /** * Retourne une adresse aléatoire. */ function getRandomUrl(){ return randomcontent[Math.floor(Math.random()*randomcontent.length)]; } /** * Création des frames et de leur timer respectif. */ function createFrames(){ // Récupération des enregistrements de type frame. var frames = listFramesId.frames; // Parcours ceux-ci for ( var frs in frames){ // frs contient frameId (identifiant de la frame) et timeRefresh (durée en seconde de rafraîchissement de celle-ci). // création de la frame. var frame = document.createElement("iframe"); // Affecte son identifiant. frame.id = frames[frs].frameId; // affecte sa source. frame.src =getRandomUrl(); // initialisation des propriétés de la frames. // Parcours l'enregistrement des propriétés par défaut de la frame. for ( var i in defaultFrameProperties){ // Affecte les propriétés à l'iFrame frame[i] =defaultFrameProperties[i]; } // ajoute la frame au document body document.body.appendChild (frame); // Déclenche un interval pour la frame. listIntervals.push (setInterval("refreshFrame('"+frames[frs].frameId+"')", frames[frs].timeRefresh * 1000)); } } /** * Rafraîchit une iframe * * @param _id * identifiant de l'iFrame à rafraîchir. */ function refreshFrame(_id){ var iFrame = document.getElementById(_id); iFrame.src = getRandomUrl(); } /** * Lors du chargement création des iframes et des timers associés */ window.onload=function (){ createFrames(); } /** * Sur déchargement de la page, "tue" les timers */ window.onunload = function(){ // Parcours la liste des intervalles et les stops. for ( var i=0; i<listIntervals.length; i++){ clearInterval(listIntervals[i]); } }
var ie= document.all&&navigator.userAgent.indexOf("Opera")==-1 var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1
// l'utilité de ces deux variables sont plus que discutables...et complétement inutile (d'ailleurs, elles ne sont plus utilisées). //var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1 //var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1 //Specify IFRAME display attributes var iframeprops='width=330 height=430 marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="1" scrolling="no"' //Specify random URLs to display inside iframe var randomcontent=new Array() randomcontent[0]="P_2.html" randomcontent[1]="P_3.html" randomcontent[2]="P_4.html" randomcontent[3]="P_5.html" // liste des identifiants des frames, pour rajouter une nouvelle iFrame, il suffit simplement de rajouter un id à l'enregistrement suivant. // Il est de plus possible d'appliquer un style directement sur les iframe via leurs identifiants. var listFramesId = ["dynstuff", "frame1", "frame2"]; // on va ajouter autant d'iframe que préciser dans la liste des iframes (listFramesId); for ( var i = 0; i<listFramesId.length; i++){ document.write(' '); } // Variable contenant le timer de rafraichissement des iframes. var interval = null; function random_iframe(){ for ( var i = 0; i < listFramesId.length; i++){ // La méthode getElementById est implémenté dans la plupart des navigateurs. var iframeobj= document.getElementById(listFramesId[i]); // Affecte la nouvelle source à l'iframe. iframeobj.src=randomcontent[Math.floor(Math.random()*randomcontent.length)]; } } /** * Chargement de la page. */ window.onload=function (){ // Affichage en entrée dans la page. random_iframe(); // et enfin, déclenche un interval (toutes les 10 secondes), interval étant exprimé en millième de seconde, 10 secondes, font donc 10000 millisecondes interval = setInterval ("random_iframe()", 10000); } /** * Fermeture de la page */ window.onunload = function(){ // Détruit l'interval afin d'éviter les effets de bores et une conso mémoire importante. clearInterval( interval); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question/** * Rafraîchit une iframe * * @param _id * identifiant de l'iFrame à rafraîchir. */ function refreshFrame(_id){ var iFrame = document.getElementById(_id); iFrame.contentWindow.location.replace(getRandomUrl()); ; }