[Web] Changer le src d'un iframe régulièrement
|
05-05-2012, 22h43
(Modification du message : 19-11-2012, 18h49 par InstinctHack.)
Message : #1
|
|
Banni Messages : 32 Sujets : 5 Points: 0 Inscription : Oct 2011 |
[Web] Changer le src d'un iframe régulièrement
Plop,
Comme j'ai vu qu'il y avait de bon codeurs sur le forum dont Cybersee alors je pose ma question ici. Je souhaite afficher une page (ex:google.fr) pendant 10 sec passer à un autre site pendant 10sec etc.. tout en boucle. Les sites seront stockés dans un fichier texte ou un array comme les proxy s'il y en a. Système d'autosurf banale. Code : <?php Le problème c'est que j'aimerais savoir comment faire mon projet car je pense pas que ce bout de code suffit, j'aimerais savoir si ma solution d'array, d'explode et de count marche bien. Aussi je cherche une commande qui servirait à stopper la page ouverte pendant 10 secondes pour ensuite que le second site s'ouvre pendant 10secs. J'avais pensé à mettre un sleep(1000) de 10secs et ensuite exit et la boucle recommence avec un new site de l'array, mais bon je pense beaucoup, mais je peux pas assuré car je n'ai pas de grosses bases en PHP. ^^ Si un boss peut m'aidé, merci bien ! ^^ |
|
06-05-2012, 01h02
(Modification du message : 06-05-2012, 01h02 par EpicOut.)
Message : #2
|
|
EpicOut
Membre actif Messages : 121 Sujets : 10 Points: 23 Inscription : Feb 2012 |
RE: PHP need help
Franchement, moi je serais à ta place je me serais pas fait chier et j'aurais mis des meta.
Plein de mouches peuvent rentrer en boucle close.
|
|
06-05-2012, 10h16
(Modification du message : 06-05-2012, 10h18 par Booster2ooo.)
Message : #3
|
|
Booster2ooo
Contributeur Messages : 165 Sujets : 14 Points: 63 Inscription : Aug 2011 |
RE: PHP need help
(05-05-2012, 22h43)romain95 a écrit : oO... pourquoi explode une string plutôt que faire un tableau directement? Code : $site = array ( Ensuite, je ne sais pas si le PHP est le plus adapté pour ce genre travail. Disons que dans www.site.eu, il y ait un script de redirection, alors tu sors de ta page PHP (et donc ne va jamais sur site.com ni site.fr). [Sinon, il me semble que la logique est plus ou moins bonne à priori] Javascript + iFrame? |
|
06-05-2012, 11h11
Message : #4
|
|
Banni Messages : 32 Sujets : 5 Points: 0 Inscription : Oct 2011 |
RE: PHP need help
Ok , je continuerai avec un array et je ne s'est pas codé javascript donc c'est chiant.. si quelqu'un trouve une solution à mon problème ce serait sympa de posté !
|
|
08-05-2012, 13h32
(Modification du message : 08-05-2012, 13h32 par Booster2ooo.)
Message : #5
|
|
Booster2ooo
Contributeur Messages : 165 Sujets : 14 Points: 63 Inscription : Aug 2011 |
RE: PHP need help |
|
11-05-2012, 17h05
Message : #6
|
|
Banni Messages : 32 Sujets : 5 Points: 0 Inscription : Oct 2011 |
RE: PHP need help
(08-05-2012, 13h32)Booster2ooo a écrit :(06-05-2012, 11h11)romain95 a écrit : Ok , je continuerai avec un array et je ne sait pas coder javascript donc c'est chiant.. si quelqu'un trouve une solution à mon problème ce serait sympa de poster !jQuery et une iframe, tu t'en sortiras très vite Ok merci Enfaite je l'ai fais en VB ^^ |
|
11-05-2012, 19h40
Message : #7
|
|
Di0Sasm
Chimiste Messages : 924 Sujets : 56 Points: 91 Inscription : Aug 2011 |
RE: PHP need help
Tu as choisi la facilité sur ce coup
|
|
15-05-2012, 17h30
Message : #8
|
|
Banni Messages : 32 Sujets : 5 Points: 0 Inscription : Oct 2011 |
RE: PHP need help
certes mais après le js query juste pour ça, j'aurais perdu du temps..
|
|
18-05-2012, 21h35
Message : #9
|
|
Di0Sasm
Chimiste Messages : 924 Sujets : 56 Points: 91 Inscription : Aug 2011 |
RE: PHP need help
J'ai dit en plaisantant, parfois il faut faire du rapide, donc pas de soucis.
|
|
19-05-2012, 13h44
(Modification du message : 19-05-2012, 19h58 par Booster2ooo.)
Message : #10
|
|
Booster2ooo
Contributeur Messages : 165 Sujets : 14 Points: 63 Inscription : Aug 2011 |
RE: PHP need help
15minutes:
Avec jQuery Code : <html> Javascript pur Code : <html> |
|
19-05-2012, 17h11
Message : #11
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,614 Sujets : 72 Points: 466 Inscription : Jan 2012 |
RE: PHP need help
@Booster2ooo: faut être assez à l'aise avec jQuery pour arriver à faire ça
Si t'as jamais touché une ligne de jQuery de ta vie, ça prendra beaucoup plus de temps pour le faire, et je vois pas en quoi utiliser un langage auquel on est habitué/qu'on aime bien pose problème (même si c'est du VB, que c'est pourri, blabla... le forum est pas là pour troller). Ceci dit, javascript est un langage assez amusant à manipuler, et ça peut valoir le coup de s'intéresser (surtout qu'une partie importante du bureau Gnome 3 sous Linux est codée en javascript ).
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
19-05-2012, 20h04
(Modification du message : 19-05-2012, 20h15 par Booster2ooo.)
Message : #12
|
|
Booster2ooo
Contributeur Messages : 165 Sujets : 14 Points: 63 Inscription : Aug 2011 |
RE: PHP need help
Attention, jQuery =/= javascript, c'est une surcouche du js qui permet une manipulation du DOM nettement simplifiée. (En l'occurence, donc notre exemple, jQuery ne sert strictement à rien, il complexifie même un peu les choses)
Par contre, je me permets de te contredire aaSSfxxx (même si je comprends bien le point de vu ). Ce petit snippet est un très bon exercice de débutant en javascript. Il permet de mettre en pratique les tableaux, la méthode getElementById qui est très utilisée et la fonction setInterval qui peut souvent s'avérée utile. Je vais prendre la peine d'expliquer le snippet JS: // Déclaration des variables et functions (sachant qu'en Javascript, une fonction peut être référencée via un nom de variable) // On commece par déclarer un tableau siteList contenant nos urls. On aurait pu l'écrire comme ceci: // var siteList = new Array('http://n-pn.fr/forum/showthread.php?tid=2031', ...) var siteList = [ 'http://n-pn.fr/forum/showthread.php?tid=2031' , 'http://n-pn.fr/index.php?mod=tuto' , 'http://n-pn.fr/index.php?mod=challenges' ] // Toujours dans le bloque de déclaration, nous ajoutons la variable qui va servir au timer, ici une variable nommée interval d'une valeur de 5000 , interval = 5000 // 5secs // On déclare une nouvelle variable buffer utilisée comme pile FIFO qui est un clone de siteList (le .slice(0) étant un petit trick permettant de dupliquer le tableau.) // Si on avait mis buffer = siteList alors buffer n'aurait été qu'un alias de siteList, référenceant la même instance du tableau. Les opérations sur buffer // auraient donc été faites sur siteList aussi (les deux étant le même tableau sous un nom différent) , buffer = siteList.slice(0) // On déclare maintanant la fonction qui va changer la source de l'iframe. On déclare donc une variable du nom next qui a pour valeur une fonction sans paramettre , next = function() { // Si notre pile buffer est vide, alors on reclone siteList if(buffer.length == 0) buffer = siteList.slice(0); // On accèdes à l'attribut src de notre iframe après l'avoir recherchée via son id dans le document et on lui passe la 1ere valeur entrée dans la pile // qui par la même occasion lui est retirée (à la pile --> FIFO) document.getElementById('iTarget').src = buffer.shift(); } // On ferme le bloque de déclaration "var" ; /* Tout ce qui ci dessus aurait pu s'écrire comme ceci: (déconseillé, je l'écris pour clarifier les choses car la synthaxe utilisée ci dessus peut être déconcertante) var siteList = new Array('http://n-pn.fr/forum/showthread.php?tid=2031', 'http://n-pn.fr/index.php?mod=tuto', 'http://n-pn.fr/index.php?mod=challenges'); var interval = 5000; var buffer = siteList.slice(0); function next() { if(buffer.length == 0) buffer = siteList.slice(0); document.getElementById('iTarget').src = buffer.shift(); } */ // On execute une 1er fois notre fonction next() (on fait donc sauter la 1er valeur de la pile buffer et on s'en sert pour définir la source de l'iframe) next(); // On lancer un timer qui executera notre fonction next() toutes les <interval> milisecondes, soit 5000 (5secondes) // (Notez que dans la version jQuery, j'ai du utilisé une fonction anonyme pour faire l'appel à next() à cause de la portée de la fonction. En effet, comme elle est déclarée dans le scope de $(document).ready(), elle n'est pas accessible par setInterval qui rechercherait la fonction next() dans le scope global) setInterval("next()", interval); Ce qui, indenté et sans comment, donne bien: Code : var siteList = [ |
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)