OVH Cloud OVH Cloud

Méthode universelle pour "petit pop-up" ?

3 réponses
Avatar
Nicolas Montessuit
Méthode universelle pour "petit pop-up" ?
From:
Nicolas Montessuit <nicolasmontessuit@wanadoo.fr>
Reply-To:
nicolasmontessuit@wanadoo.fr
Date:
Saturday 14 May 2005 08:26:22
Groups:
fr.comp.lang.general
Followup-To:
fr.comp.lang.javascript
no references

Bonjour,

  je cherche une méthode universelle (c'est-à-dire aussi peu
dépendante du navigateur que possible) pour ouvrir une petite
fenetre.

  Voici exactement ce que je voudrais faire :  supposons que
j'aie une image ou un bout de texte XXX, faire en sorte qu'en
passant la souris dessus ou en cliquant dessus, une petite
fenêtre de dimension 100 x 100 s'ouvre à côté de la fenêtre
qu'on est déjà en train de lire.   Cette fenêtre montre une
page qui existe sur une autre URL par ailleurs.

  Techniquement, je sais comment le faire en javascript, en
mettant un <a href="javascript:window.open(...);">XXX</a>.

  Mais le problème est que, sous un navigateur célèbre, cela
modifie aussi la page principale... (m'a t'on dit)

  Autre solution : utiliser l'attribut TARGET du <A>,
<A TARGET="_blank" HREF="url.html">

  Cette fois-ci le problème est que je n'arrive pas à forcer
la taille de la nouvelle fenêtre (width=100 et height=100).
De plus, il semble que cela ouvre une nouvelle fenêtre à chaque
fois, alors qu'avec l'autre méthode, en nommant tous les pop-ups
de la même façon, on peut faire en sorte qu'il n'y en ait qu'un.

  Voilà.

  Donc, si vous savez comment on peut contourner cette difficulté...
c'est-à-dire comment on peut ouvrir ce genre de pop-up de façon
'clean' et qui marche aussi bien sous IE, Mozilla, Konqueror
(et Safari, etc.) ?

  Cordialement
--esc

3 réponses

Avatar
O.L.
Nicolas Montessuit a couché sur son écran :
Bonjour,

je cherche une méthode universelle (c'est-à-dire aussi peu
dépendante du navigateur que possible) pour ouvrir une petite
fenetre.

Voici exactement ce que je voudrais faire : supposons que
j'aie une image ou un bout de texte XXX, faire en sorte qu'en
passant la souris dessus ou en cliquant dessus, une petite
fenêtre de dimension 100 x 100 s'ouvre à côté de la fenêtre
qu'on est déjà en train de lire. Cette fenêtre montre une
page qui existe sur une autre URL par ailleurs.

Techniquement, je sais comment le faire en javascript, en
mettant un <a href="javascript:window.open(...);">XXX</a>.

Mais le problème est que, sous un navigateur célèbre, cela
modifie aussi la page principale... (m'a t'on dit)


C'est ça, la méthode universelle, je pense ! :)
Ca ne modifie en rien la page principale (qui ouvre la nvlle fenêtre),
si le code est bien fait (je ne suis pas sûr que le tiens soit OK).

Moi je ferais comme ça :

<a href="javascript:;" onclick="Ouvrir()">Mon Lien</a>
<script>
function Ouvrir() {
window.open("maPage.htm", "MyPopup",
"width0,height0,resizable=yes,toolbar=no,menubar=no,");
}
</script>


Ou bien encore comme ça, plus court mais l'utilisateur voit ton code
dans la barre de status comme cible du lien :

<a href="javascript:void(window.open('maPage.htm', 'MyPopup',
'width0,height0,resizable=yes,toolbar=no,menubar=no,'))">Mon
Lien</a>


@+
Olivier

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

Avatar
ASM

  Voici exactement ce que je voudrais faire :  supposons que
j'aie une image ou un bout de texte XXX, faire en sorte qu'en
passant la souris dessus ou en cliquant dessus, une petite
fenêtre de dimension 100 x 100 s'ouvre à côté de la fenêtre
qu'on est déjà en train de lire.   Cette fenêtre montre une
page qui existe sur une autre URL par ailleurs.


En survolant ou en cliquant ce n'est pas du tout pareil
Comme tu veux charger une page je conseille le clicotage
qui est une action volontaire (le survol peut être accidentel)

  Techniquement, je sais comment le faire en javascript, en
mettant un <a href="javascript:window.open(...);">XXX</a>.


donc tout baigne !

  Mais le problème est que, sous un navigateur célèbre, cela
modifie aussi la page principale... (m'a t'on dit)


Oui ? bon ... admettons .

  Autre solution : utiliser l'attribut TARGET du <A>,
<A TARGET="_blank" HREF="url.html">


<a href="mapage.htm" target="pour_voir" onclick="
if(!(truc) || truc.closed) ''; else truc.close();
truc=window.open('','pour_voir','width0,height0,resizable=0');
">ma page</a>

Pour éviter que la page se charge dans la fenêtre active
on a mis dans le lien : target="pour_voir"
qui correspond au target du window open
hop! la page va aller s'y afficher.

Il faut que l'url soit en clair dans le href pour qu'elle soit
accessible si JS non activé ! ! !
Dans cet exemple, normalement,
le navigateur l'affiche dans une nouvelle fenêtre standard si pas de JS.

  Cette fois-ci le problème est que je n'arrive pas à forcer
la taille de la nouvelle fenêtre (width0 et height0).
De plus, il semble que cela ouvre une nouvelle fenêtre à chaque
fois, alors qu'avec l'autre méthode, en nommant tous les pop-ups
de la même façon, on peut faire en sorte qu'il n'y en ait qu'un.


Si tu nommes tous les pop-ups de la même façon (ici : "truc")
par window.open('','','width0')
tu ne peux redimensionner le popup s'il est déjà ouvert
d'ou -> if(!(truc) || truc.closed) ''; else truc.close();
pour le fermer s'il existe avant d'en ouvrir un nouveau


Sinon tu peux faire :

<a href="mapage.htm" target="pour_voir" onclick="
truc=window.open('','pour_voir','resizable=0');
truc.resizeTo(100,100); // dimensionner le popup
truc.focus(); // passer le popup devant
">ma page</a>

Normalement, puisque c'est touj le même nom de fenêtre, il ne devrait
pas s'en ouvrir de nouvelle.

  Donc, si vous savez comment on peut contourner cette difficulté...
c'est-à-dire comment on peut ouvrir ce genre de pop-up de façon
'clean' et qui marche aussi bien sous IE, Mozilla, Konqueror
(et Safari, etc.) ?


Certains anti pop-ups mal fagotés vont empécher la chose.
Ceux qui ont réglé leurs navigateurs "par onglets" vont certainement râler.

petit tuto sur les fenêtes et popups :
http://perso.wanadoo.fr/stephane.moriaux/internet/web_html/java/fenetr/

--
*******************************************************
Stéphane MORIAUX et son vieux Mac
Aide Pages Perso (images & couleurs, formulaire, CHP)
http://perso.wanadoo.fr/stephane.moriaux/internet/
*******************************************************

Avatar
Juan Nadal
voila ce que j'utilise

function ouvrir(fichier)
{
window.open(fichier,'_blank','toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=0,copyhistory=0,menuBar=0,widthb5,heightP0,screenX=0,left=0,screenY=0,top=0');
}
les quatre dernier arguments positionnent la fenetre dans l'ecran


--
Amicalement Votre
L.ALFREDO
--------------------------------------------
Signer l'appel au NON au Traité Constitutionnel sur
http://www.rayonpolar.com
rubrique Europe
--------------------------------------------