11548 sujets

JavaScript, DOM et API Web HTML5

Salut,

J'essaye d'ouvrir une fenêtre (pop-up) lorsque l'on clique sur un lien.
Le problème est qu'en plus d'ouvrir le pop-up, il modifie la fenêtre
principale en ouvrant le même lien ! ! !

Ouf, je ne sais pas si je me fais comprendre ! ! !
(voici l'adresse http://users.skynet.be/kain_bruyere
rubrique sociétaires/Morleghem)

Voici la façon dont je m'y suis pris:

<a href="societaires/morleghem.html"
onClick="MM_openBrWindow
('societaires/morleghem.html','Morleghem','resizable=yes,width=500,
height=500')">Morleghem</a>


Par la même occasion, visitez mon site en création et donnez-moi
votre avis sur ce qui est déjà fait!

Merci et A+

Modifié par sebe (10 Apr 2005 - 11:23)
J'ai changé le code par:

<a href="javascript:MM_openBrWindow
('societaires/morleghem.html','Morleghem','resizable=yes,
width=500,height=500')">Morleghem</a>


A+
sebe > Dans ta deuxième solution, si le visiteur n'a pas activé javascript, ton lien ne fonctionnera pas.
Il suffit d'ajouter "return: false;" à ton événement "onclick" dans ta première solution.

au final, tu devrais avoir quelque chose comme ceci :
<a href="societaires/morleghem.html"
onClick="MM_openBrWindow('societaires/morleghem.html','Morleghem','resizable=yes,width=500,
height=500'); return false;">Morleghem</a>

Le plus simple consistant quand même à faire ceci, je pense :
<a href="societaires/morleghem.html"
onClick="window.open('this.href','Morleghem','resizable=yes,width=500,
height=500'); return false;">Morleghem</a>

"this.href" fait référence à la valeur de href dans la balise courante ("this").

N'oublie pas qu'en faisant des popups, tu rompts l'historique de navigation de l'utilisateur. C'est toujours une bonne idée de signifier d'une manière ou d'une autre que le lien s'ouvre dans une popup.
Modifié par an.archi (10 Apr 2005 - 12:09)
an.archi,

Merci pour ton intervention et tes conseils mais je ne comprends
pas ce que tu veux dire par:

a écrit :
N'oublie pas qu'en faisant des popups, tu rompts l'historique de
navigation de l'utilisateur. C'est toujours une bonne idée de signifier
d'une manière ou d'une autre que le lien s'ouvre dans une popup.


Merci de bien vouloir un peu m'éclairer ... je suis un
newbie de 2 mois ! ! !

Modifié par sebe (10 Apr 2005 - 23:24)
an.archi,

En faisant ce que tu me proposes, le lien ne s'ouvre plus dans une
nouvelle fenêtre mais prend la place de la fenêtre principale.
Je désire que cela s'ouvre dans un pop-up dés que l'on clique sur le lien!
As-tu une solution?
OK...

Disons que si l'utilisateur clique sur un lien, il s'attend a priori à ce que celui-ci s'ouvre dans la page (ou l'onglet, etc. enfin, de la manière dont il a configuré son navigateur). Ce n'est qu'un avis personnel, mais les popups qui s'ouvrent sans que l'on ne m'en ait informé au préalable, ça a tendance à m'énerver assez rapidement.
J'aime savoir où je vais, et ce que je peux faire en fonction des infos qu'on me donne. Disons qu'indiquer qu'il s'agit d'une popup, ça permet à l'utilisateur d'intervenir de la façon qu'il préfère. C'est un soucis d'ergonomie.

Du point de vue de l'historique, même s'il y en a souvent une fonction d'historique "global" dans les navigateurs, le bouton "page précédente" ne fonctionnera plus, et si on se trimballe ainsi de popups en popups, on a vite fait d'être perdu pour peu qu'on ne soit pas organisé.

Tu peux signifier qu'il s'agit d'une popup en l'indiquant de manière textuelle (en rajoutant après le lien "(popup)", par exemple, ou de façon sémantique en attribuant une classe spéciale aux liens qui s'ouvrent dans une popup.

par exemple :
<a href="URL">ancre normale</a>
<a href="URL" class="popup" onclick="blabla">ancre avec popup</a>
À ta charge ensuite d'établir le style adéquat (emphase, couleur, etc.)

Je me suis trompé pour le code javascript... effectivement.
Désolé, mais "this.href" ne doit pas être mis entre guillemets :
<a href="societaires/morleghem.html"
onClick="window.open(this.href,'Morleghem','resizable=yes,width=500,
height=500'); return false;">Morleghem</a>

Une petite chose également... Évite de mettre des caractères autre qu'alphanumériques ou des espacements dans le deuxième argument (le nom de la fenêtre), IE n'aime pas du tout ce genre de chose, il me semble...

Bon courage ! Smiley smile
Modifié par an.archi (10 Apr 2005 - 23:58)
Ok et merci pour tes conseils que je vais certainement utiliser.
Pour les series de codes que tu m'as donné, cela ne fonctionne pas comme je voudrais! Mais j'ai une autre idée ... je vais l'ouvrir dans la fenêtre principale avec des flêches (revenir à la page précédente, aller aux sociétaires précédents et au suivant). Je ne sais pas comment je vais faire cela mais ... ce que tu m'avais laissé comme message hier m'a empecher de dormir (et obliger à réfléchir à une parade)! Ceci dit, j'ai glissé d'autres pop-up dans mon site (historique) et là je ne vois encore rien ! ! !

Encore merci