Comportement : Ouvrir une Popup

Mammouth du PHP | 881 Messages

18 déc. 2007, 04:28

Tu pourrais ajouter

Code : Tout sélectionner

newpage.focus();
Ceci peut t'aider:
http://www.javascriptfr.com/code.aspx?ID=15736


Pour limiter le nombre de nouvelles fenêtres, tu dois référer toujours à la même fenêtre (donner toujours le même nom). Aussi, tu peux faire en sorte que la fenêtre perdant l'attention se ferme automatiquement, mais c'est un peu agaçant.:

Code : Tout sélectionner

newpage.document.write('<body onblur="this.close();"><div id="map" style="width:100%;height:100%;">Je me disais cela aussi!</div></body></html>');
Le problème que tu as avec ta fonction onLoad() est double: son nom te fait la confondre avec la réaction du navigateur qui doit activer la fonction lorsqu'il charge la page. Ceci est un mineur et n'est qu'une question d'appellation de la fonction. Ce qui est plus grave et qui bloque ton système, c'est que la fonction onLoad que tu appelles n'existe pas. Il faudrait qu'elle soit dans ton code et j'en vois mal l'utilité puisque la fonction construisant la page peut très bien faire le travail sans faire appel à une autre fonction qui agirait de la même manière. Vois ci-haut, j'ai fait disparaître ton onload = onload

[/code]
Soyez artisans de paix

Mammouth du PHP | 545 Messages

19 déc. 2007, 12:06

Salut,

J'ai mis du temps pour répondre mais, n'étant nul part en JS, je savoir à quoi et comment se servir de 'newpage.document.write' ... par la même occasion, je suis tombé sur des tutos et j'ai essayé de 'Générer une popup avec le code source de la nouvelle page'. Voici mon nouveau code:

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function ouverture(fichier,winName){ newpage=open("",'newpopup','width=800,height=800,scrollbars=yes,resizable=yes'); newpage.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'); newpage.document.write('<html> <head> <title>' + winName + '</title>'); newpage.document.write('<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">'); newpage.document.write('<script language=javascript type=text/javascript src=http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAHItW1QS700keXwHcZHo1SBSTES51LFRMh0KGF7wfE8_5zuCo4BRexIPfsLtR_sAZWD2MCwLr_fKxUA>\n'); newpage.document.write('var map;\n'); newpage.document.write('function carte(){\n'); newpage.document.write('if (GBrowserIsCompatible()) {\n'); newpage.document.write('map = new GMap2(document.getElementById(\"map\"));\n'); newpage.document.write('map.addControl(new GLargeMapControl());\n'); newpage.document.write('var geoXml = new GGeoXml(\"http://www.runningho.be/jho/kml/acrho.php?parcours=21\");\n'); newpage.document.write('map.addOverlay(geoXml);\n'); newpage.document.write('map.setCenter(new GLatLng(50.66, 3.37), 13);\n'); newpage.document.write('}\n'); newpage.document.write('}\n'); newpage.document.write('<\/script>\n'); newpage.document.write('</head>'); newpage.document.write('<body onLoad=\"carte()\">'); newpage.document.write('<div id=\"map\" style=\"width:100%;height:100%;\">'); newpage.document.write('</div></body></html>'); } </script> <?php $lienearth = '<a href="' . $page . '" target="' . htmlentities($epreuve->epreuve, ENT_QUOTES) . '" onclick="ouverture(this.href,this.target);return false">' . '<img src="' . $url . 'logo_earth.jpg' . '" title="' . _VU . '"/>' . '</a>'; echo '<tr><td width="50%">'. $message . '</td><td width="50%">'. $lienearth . '</td></tr>'; ?>
Maintenant, cela aurait été trop beau car la carte ne se charge pas hors que pour le même code directement dans une autre page en html cela fonctionne !

Une idée pour bibi ... merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 déc. 2007, 12:38

Pourquoi ne pas rester sur ton idée de départ qui est de passer en 1er paramètre de open() le fichier a ouvrir (le même que tu nous montres) et non construire le contenu en js.
window.open("http://www.kain-buyere.be/components/com_classement/classement.earth.php",'newpopup','width=800,height=800,scrollbars=yes,resizable=yes');

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 545 Messages

19 déc. 2007, 12:43

Salut,
Pourquoi ne pas rester sur ton idée de départ qui est de passer en 1er paramètre de open() le fichier a ouvrir (le même que tu nous montres) et non construire le contenu en js.
Parce que ce n'est pas une popup et que j'aimerai y faire passer des variables car, pour afficher la bonne carte, je dois y faire des requêtes ... attention, je poste aussi dans 'Php débutant' :D

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 déc. 2007, 12:56

J'ai un peu de mal à te suivre mais je suis quasi sur que tu te compliques pas mal la chose... c'est déjà ça :lol:

Ce n'est pas une popup... ok... pourquoi ne pas mettre un simple lien qui va ouvrir une autre page ?
Ce que tu fais avec la balise <a> mais en plus un onclick pour ouvrir cette même page :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 545 Messages

19 déc. 2007, 13:08

J'ai un peu de mal à te suivre mais je suis quasi sur que tu te compliques pas mal la chose... c'est déjà ça :lol:
J'ai souvent des idées mais beaucoup de mal à les exprimer :lol:
Ce n'est pas une popup... ok... pourquoi ne pas mettre un simple lien qui va ouvrir une autre page ?
Ce que tu fais avec la balise <a> mais en plus un onclick pour ouvrir cette même page :-k
Je veux que l'utilisateur puisse suivre le détail du chemin tout en voyant le tracé ... avec les copains, on trouvait qu'une pop-up était ce qui rendait le mieux !

Sinon, il ne faut pas oublier que je code un composant pour [Joomla!] et que le but final est de pouvoir utiliser la mise en page et la sécurité de ce portail dans la popup ... le lien que j'ai mis plus haut deviendrait ceci
au cas où le visiteur a désactivé le JS !
Ouai, c'est pas gagné !
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 déc. 2007, 13:15

Parce que ce n'est pas une popup
avec les copains, on trouvait qu'une pop-up était ce qui rendait le mieux !
:boire4:
Au final tu veux une popup ou pas ?

Non parce que tu peux aussi passer des paramètres au fichier que va ouvrir la popup
window.open("fichier.php?var=titi");
ou
window.open("http://www.kain-buyere.be/index2.php?option=com_classement&task=popup&id=21");

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 545 Messages

19 déc. 2007, 13:48

Au final tu veux une popup ou pas ?
Ben si mais au cas où il y a une erreur ou que l'utilisateur a désactivé le JS il bascule sur une espèce de _blanck
$lienearth = '<a href="' . $page . '" target="' . htmlentities($epreuve->epreuve, ENT_QUOTES) . '" onclick="ouverture(this.href,this.target);return false">'
	. '<img src="' . $url . 'logo_earth.jpg' . '" title="' . _VU . '"/>'
	. '</a>';
Non parce que tu peux aussi passer des paramètres au fichier que va ouvrir la popup

Ah ... je me complique la vie alors !
Il me suffit de remplacer ouverture par ce que tu me proposes ! ? !

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 déc. 2007, 15:08

Ben si mais au cas où il y a une erreur ou que l'utilisateur a désactivé le JS il bascule sur une espèce de _blanck
La s'il n'y a pas d'erreur les deux vont être exécuté le lien href et onclick
Ah ... je me complique la vie alors !
Il me suffit de remplacer ouverture par ce que tu me proposes ! ? !
oui :)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 545 Messages

19 déc. 2007, 15:28

Bon ben, je bloque !

Code : Tout sélectionner

<A href="javascript:ouvre_popup('<?php echo $page . '?id=titi';?>')">Ouverture d'un popup</A> <SCRIPT language="javascript"> function ouvre_popup(page) { //document.write('id= ' + id); window.open(page,"nom_popup","width=800,height=800,scrollbars=yes,resizable=yes"); } </SCRIPT>
Comment faire pour récupérer l'id ?

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 déc. 2007, 15:41

Etant donné qu'on ne voit pas le contenu de $page regarde et montre nous le code source de cette ligne
window.open(page,"nom_popup","width=800,height=800,scrollbars=yes,resizable=yes");
Tu récupères l'id comme toute variable passée dans l'url avec $_GET sur la page "$page"

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 545 Messages

19 déc. 2007, 15:50

Vite avant d'aller bosser
$page = http://www.kain-buyere.be/components/co ... .earth.php

A ce soir après 23h si tu es encore là !


Merci pour ce que tu as déjà fait
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!