Accueil > Forum > > > > Ouvrir popup en boucle
Ouvrir popup en boucle
dimanche 20 septembre 2009 à 17:46:51 |
Ouvrir popup en boucle

zlatan40
|
Bonjour
Je réalise un petit script qui ouvre une popups pour chaque lien se situant dans un fichier texte. J'ai réalisé ce code mais seul le dernier lien de la liste s'ouvre en popup lorsque j'éxécute le script.
Comment puis-je faire ?
Merci de d'avance !
Code PHP : <SCRIPT type="text/javascript">
function ouvre_popup(page) {
window.open(page,"nom_popup","menubar=no, status=no, scrollbars=no, menubar=no");
}
</SCRIPT>
<?php
$monfichier = fopen('liste.txt', 'r+');
echo '<script type="text/javascript">';
while($lien = fgets($monfichier))
{
$lien = substr($lien, 0, 37);
echo 'ouvre_popup("'.$lien.'");';
}
echo '</script>';
fclose($monfichier);
?>
|
|
dimanche 20 septembre 2009 à 19:30:38 |
Re : Ouvrir popup en boucle

DarkM60
|
Déjà rajoute à la fin de ton echo 'ouvre_popup("'.$lien.'");'; un petit \n pour avoir un retour à la ligne (echo 'ouvre_popup("'.$lien.'");',"\n";)
Si ma mémoire est bonne en fait... Fgets récupère aussi le saut de ligne à la fin de chaque ligne dans ton fichier.
Donc pour chaque lien il prend le lien ET le saut de ligne. Mais pas pour le dernier. Donc seul le dernier est bon.
Essaye ça pour voir :
Code PHP :
while($lien = fgets($monfichier))
{
$lien = substr($lien, 0, 37);
$lien = str_replace("\n","",$lien);
echo 'ouvre_popup("'.$lien.'");';
}
(Et le substr sert à quoi ? Et pense à indenter ton code :p)
|
|
dimanche 20 septembre 2009 à 19:52:52 |
Re : Ouvrir popup en boucle

zlatan40
|
merci pour ta réponse mais le problème ne vient pas de là, en fait le substr réglait déjà le problème du \n car tout mes liens font 37 caractères.
Mais je vais quand même prendre ta solution.
Donc le problème n'est pas réglé, je n'est toujours que le dernier lien qui se lance.
|
|
dimanche 20 septembre 2009 à 20:39:50 |
Re : Ouvrir popup en boucle

kohntark
|
Réponse acceptée !
Salut,
Je pense plutôt que tes liens s'ouvrent correctement, le problème est qu'ils le sont dans une même fenêtre (qui s'appelle ici nom_popup)
Si tu veux ouvrir chaque lien ds une fenêtre différente il faut la nommer différemment.
Soit tu passes un second argument à ta fonction pour le nom de la fenêtre, soit tu gères ça à l'intérieur de ta fonction. Tout dépends le but en fait (si tu veux contrôler la fenêtre une fois ouverte par exemple)
Cordialement,
Kohntark -
|
|
dimanche 20 septembre 2009 à 21:23:45 |
Re : Ouvrir popup en boucle

DarkM60
|
Oh, je n'avais pas fait attention au nom du popup ! Bien vu Kohntark !
|
|
dimanche 20 septembre 2009 à 21:32:21 |
Re : Ouvrir popup en boucle

zlatan40
|
Merci Kohntark !
C'était bien cela, j'ai rajouté un argument à la fonction et le tour est joué.
Cependant j'ai un nouveau soucis, je voudrais en ouvrir 1 toute les 10 sec par exemple. J'utilise pour cela la fonction time() mais rien ne s'ouvre avec ce code :
Code PHP : <script type="text/javascript">
function ouvre_popup(page,nom_popup)
{
window.open(page,nom_popup,"menubar=no, status=no, scrollbars=no, menubar=no");
}
<?php
$temps = time();
$monfichier = file('liste.txt');
foreach($monfichier as $lien)
{
while(time()-$temps <= 10)
{
$temps = time();
$lien = str_replace("\n","",$lien);
echo "\n".'ouvre_popup("'.$lien.'","'.$lien.'");';
}
}
?>
</script>
|
|
lundi 21 septembre 2009 à 11:33:00 |
Re : Ouvrir popup en boucle
|
lundi 21 septembre 2009 à 15:09:40 |
Re : Ouvrir popup en boucle

DarkM60
|
Tu dois bien comprendre que PHP est éxécuté côté SERVEUR et que javascript est exécuté côté CLIENT.
En gros, ton time() ne te sert à rien ici, il va juste faire "attendre" le serveur, mais les popups seront tous affichés en même temps.
Si tu veux vraiment faire une attente entre les popups il faut utiliser les fonctions d'attente en javascript (Renseigne toi sur setTimeout, ça créé une minuterie)
Tu pourrais tenter quelque chose comme ça :
Code PHP :
<script type="text/javascript">
function ouvre_popup(page,nom_popup)
{
window.open(page,nom_popup,"menubar=no, status=no, scrollbars=no, menubar=no");
}
<?php
$i = 0;
$monfichier = file('liste.txt');
foreach($monfichier as $lien)
{
$milisecondes = ($i * 10000);
$lien = str_replace("\n","",$lien);
echo "\n".'setTimeout("ouvre_popup()",'.$milisecondes.',"'.$lien.'","'.$lien.'");';
$i++;
}
?>
</script>
Dis moi ce que ça donne, je n'ai pas testé, mais l'idée c'est d'utiliser setTimeout.
|
|
lundi 21 septembre 2009 à 18:03:54 |
Re : Ouvrir popup en boucle

kohntark
|
ton time() ne te sert à rien ici, il va juste faire "attendre" le serveur
Heu, non, il ne va rien faire attendre du coup. time() retourne un timestamp unix, rien d'autre. Il aurait fallu utiliser sleep, mais c'est une mauvaise idée.
Je ne connais pas le contexte mais il y a de fortes chances que ces ouvertures de popups soient également une mauvaise idée :
- tu vas faire fuir tes visiteurs avec des popups non sollicitées
- tel que tu procèdes n'importe quel anti popup va les bloquer
Cordialement,
Kohntark -
|
|
mardi 22 septembre 2009 à 21:51:30 |
Re : Ouvrir popup en boucle

zlatan40
|
Merci pour vos réponses, j'ai trouvé en fait c'est en JS avec settimeout() que cela fonctionne.
Pour info ce script n'a pas pour but de diffuser des pubs donc cela ne fera pas fuir les visiteurs :)
Je souhaiterai maintenant fermer la popup qui est ouverte avant d'en réouvrir une nouvelle. J'ai essayer avec le nom de la popup mais ce n'est pas bon.
Code PHP : $temps = 0;
$i = 0;
$monfichier = file('liste.txt');
foreach($monfichier as $lien)
{
$i++;
$lien = trim($lien);
echo "\n".'setTimeout(\'ouvre_popup("'.$lien.'","fenetre'.$i.'");\','.$temps.');'."\n";
$temps+=10000;
echo 'fenetre'.$i.'.close();';
}
|
|
Cette discussion est classée dans : ouvrir, ouvre, code, lien, popup
Répondre à ce message
Sujets en rapport avec ce message
Popup [ par panpan ]
Hello, une petite question...Mon probleme est que sur me page j'ai un lien qui ouvre une popup, mais ce que j'aimerai c'est que quant la personne cliq
Ouvrir une autre fenêtre avec une redirection. [ par jbaudin ]
Bonjour à tous !Je chercher comment faire pour créer une redirection qui ouvre une autre fenêtre ?ex :1 - L'utilisateur clique sur un lien2 - Affichag
Popup [ par flasher_13 ]
Bonjour à tous, j'ai posté ce même message sur javascriptfr mais personne n'a répondu, alors je tente maintenant de trouver un code en PHP à l'aide de
ouvre une popup en PHP [ par Anthotill ]
Bonjour à tous !je suis paumé avec tous ces '"''"'"' et donc je n'arrive pas a ouvrir une popup simple avec php :s :sur ce liens : Imprimermettre ce
lecture lien [ par jojo545 ]
Suite à mon ancien message, je n'ai pas trop compris:Existe il un code en php qui puisse récupérer les liens d'une page quelqonque ( ex :<A href="http
popup : lien qui "pop" pas [ par crazykamel ]
Soit ce lien : <A tabindex="0" href="#" onclick="window.open('include/popMailFinal.php','Aperçu de l'invitation','toolbar=0, location=0, direc
Un clic = un lien + une popup [ par mike501 ]
bonjour je voudrai un script qui me permet quand un personne clique sur un lien cela ouvre une autre fenetre sur une autre pagecela pour mettre dans u
mail [ par rich25200 ]
bonjour, je veux envoyé un mail a partir de la fonction mail mais j'ai un prob voial mon code : $to = "xxxxx@hotmail.com"; $subject = 'Activ
lien fichier local avec easyphp [ par toineekikil ]
Bonjour, Alors voila je fais un site intranet et j'utilise easyphp. J'ai besoin de consulter un fichier excel, j'ai donc commencé par faire un
lien vers document [ par edclaire ]
Bonjour, j'ai 2 gros problèmes. Mon premier est au niveau du navigateur : Voila je lance mon code dans une fenêtre Firefox puis quand je clique sur
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|