Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

largeur d'une fenêtre en paramêtre

3 réponses
Avatar
fred
bonjour,
j'aimerai pouvoir ouvrir un lien dans une nouvelle fenêtre en passant en
paramètre la
largeur de celle-ci ( ici width=200 ). Voilà le script non paramétré que
j'utilise et que j'ai essayé de
modifier sans résultat:

<script type="text/javascript">
function pop(adresse){
window.open(adresse,'nm_fenetre','location=no,toolbar=no,directories=no,menubar=no,
resizable=yes,scrollbars=yes,status=no,width=200,height=700');
}
</script>

<a href="javascript:pop('http://www.monsite.org/accueil/');">

Merci d'avance
Fred

3 réponses

Avatar
SAM
Le 12/5/09 10:18 AM, fred a écrit :
bonjour,
j'aimerai pouvoir ouvrir un lien dans une nouvelle fenêtre en passant en
paramètre la
largeur de celle-ci ( ici width 0 ).




<script type="text/javascript">
function pop(adresse, largeur){
window.open(adresse,'nm_fenetre','location=no,toolbar=no,directories=no,menubar=no,
resizable=yes,scrollbars=yes,status=no,width='+largeur+',heightp0');
}
</script>

Possible que ça ne fonctionne pas si
- la fenêtre est déjà ouverte
- si l'utilisateur a choisi 'onglet' pour 'fenêtre'

à noter que pour window.open :
- status ne fonctionne plus dans les navigateurs au goût du jour
- location non plus
on ne peut plus les enlever des fenêtres.

<a href="javascript:pop('http://www.monsite.org/accueil/');">



Ça c'est
archi dégueu,
archi se foutre de l'utilisateur et
archi-anti-accessibilité !

<a href="http://www.monsite.org/accueil/"
onclick="pop('http://www.monsite.org/accueil/',200);return false;">

ou :

<a href="http://www.monsite.org/accueil/"
onclick="pop(this.href,200);return false;">


à la rigueur, mais c'est déprécié :

<a href="http://www.monsite.org/accueil/" target="nm_fenetre"
onclick="pop(this.href,200);return false;">




Je préfère :

<script type="text/javascript">
function pop(lien, largeur){
var attr = 'location=0,toolbar=0,directories=0,menubar=0,resizable=1';
attr += ',scrollbars=yes,status=no,width='+largeur+',heightp0';
if(typeof truc == 'undefined' || truc.closed)
truc = window.open('','nm_fenetre',attr);
truc.location = lien.href;
truc.focus();
return false;
}
</script>

<a href="http://www.monsite.org/accueil/"
onclick="return pop(this,200);">



et si l'on veut changer de dimension de popup entre 2 appels de liens :

<script type="text/javascript">
function pop(lien, largeur, hauteur){
var attr = 'location=0,toolbar=0,directories=0,menubar=0,resizable=1';
attr += ',scrollbars=yes,status=no,width='+largeur+',height='+hauteur;
if(typeof truc != 'undefined' && !truc.closed) truc.close();
truc = window.open('','nm_fenetre',attr);
truc.location = lien.href;
truc.focus();
return false;
}
</script>

<a href="http://www.monsite.org/accueil/"
onclick="return pop(this,200,700);">
Avatar
fred
"SAM" a écrit dans le message
de news: 4b1a978f$0$906$
Le 12/5/09 10:18 AM, fred a écrit :
bonjour,
j'aimerai pouvoir ouvrir un lien dans une nouvelle fenêtre en passant en
paramètre la
largeur de celle-ci ( ici width 0 ).




<script type="text/javascript">
function pop(adresse, largeur){
window.open(adresse,'nm_fenetre','location=no,toolbar=no,directories=no,menubar=no,
resizable=yes,scrollbars=yes,status=no,width='+largeur+',heightp0');
}
</script>

Possible que ça ne fonctionne pas si
- la fenêtre est déjà ouverte
- si l'utilisateur a choisi 'onglet' pour 'fenêtre'

à noter que pour window.open :
- status ne fonctionne plus dans les navigateurs au goût du jour
- location non plus
on ne peut plus les enlever des fenêtres.

<a href="javascript:pop('http://www.monsite.org/accueil/');">



Ça c'est
archi dégueu,
archi se foutre de l'utilisateur et
archi-anti-accessibilité !

<a href="http://www.monsite.org/accueil/"
onclick="pop('http://www.monsite.org/accueil/',200);return false;">

ou :

<a href="http://www.monsite.org/accueil/"
onclick="pop(this.href,200);return false;">


à la rigueur, mais c'est déprécié :

<a href="http://www.monsite.org/accueil/" target="nm_fenetre"
onclick="pop(this.href,200);return false;">




Je préfère :

<script type="text/javascript">
function pop(lien, largeur){
var attr = 'location=0,toolbar=0,directories=0,menubar=0,resizable=1';
attr += ',scrollbars=yes,status=no,width='+largeur+',heightp0';
if(typeof truc == 'undefined' || truc.closed)
truc = window.open('','nm_fenetre',attr);
truc.location = lien.href;
truc.focus();
return false;
}
</script>

<a href="http://www.monsite.org/accueil/"
onclick="return pop(this,200);">



et si l'on veut changer de dimension de popup entre 2 appels de liens :

<script type="text/javascript">
function pop(lien, largeur, hauteur){
var attr = 'location=0,toolbar=0,directories=0,menubar=0,resizable=1';
attr += ',scrollbars=yes,status=no,width='+largeur+',height='+hauteur;
if(typeof truc != 'undefined' && !truc.closed) truc.close();
truc = window.open('','nm_fenetre',attr);
truc.location = lien.href;
truc.focus();
return false;
}
</script>

<a href="http://www.monsite.org/accueil/"
onclick="return pop(this,200,700);">



merci, je ne suis pas un vrai pro de javascript
faut que je bosse un peu
Fred
Avatar
SAM
Le 12/5/09 6:35 PM, fred a écrit :
"SAM" a écrit dans le message
de news: 4b1a978f$0$906$

<script type="text/javascript">
function pop(lien, largeur){
var attr = 'location=0,toolbar=0,directories=0,menubar=0,resizable=1';
attr += ',scrollbars=yes,status=no,width='+largeur+',heightp0';
if(typeof truc == 'undefined' || truc.closed)
truc = window.open('','nm_fenetre',attr);
truc.location = lien.href;
truc.focus();
return false;
}
</script>

<a href="http://www.monsite.org/accueil/"
onclick="return pop(this,200);">



merci, je ne suis pas un vrai pro de javascript
faut que je bosse un peu



Bon, alors...

Il ne faut pas faire

<a href="javascript:window.open('fichier.htm')">go</a>

qui ne permet pas sans JavaScript fonctionnel
de naviguer vers la page 'fichier.htm'

Mais faire un lien normal
<a href="fichier.htm"
avec choix d'une action en JS comme par exemple :
onclick="window.open(this.href);return false;"
qui va ouvrir le lien (son href) dans une nouvelle fenêtre

Le onclick se termine par return false;
pour annuler le lien html,
afin de ne pas à la fois ouvrir le fichier dans la fenêtre active ET
dans le popup.

L'avantage : l'utilisateur peut ainsi, dans tous les cas,
choisir lui-même d'ouvrir le fichier visé :
- dans la même fenêtre
- dans une nouvelle fenêtre
- dans un onglet
- dans le popup (si JS actif)

Ça respecte l'accessibilité
(fonctionne avec un navigateur texte ou vocal)
mais aussi la bonne conduite quant à son visiteur
(qui peut ne pas apprécier les popups)

Pour les popups et fenêtres :
<https://developer.mozilla.org/fr/DOM/window.open>
<http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx>


--
sm