43 votes

Accéder à une fenêtre par son nom

Si j'ouvre une fenêtre en utilisant

window.open('myurl.html', 'windowname', 'width=100,height=100');

Comment puis-je faire référence à la nouvelle fenêtre (à partir de la page qui l'a ouverte) en utilisant "windowname" ? Cette question porte précisément sur ce point. Je sais que je pourrais sauvegarder une référence à la poignée en utilisant "var mywin = window.open(...)" mais cela ne m'intéresse pas dans cette situation.

Merci, - Dave

2 votes

Attribuer la valeur de retour de window.open() à une variable. C'est la seule bonne solution.

5 votes

-1 pour ne pas avoir lu la question de Daves. var mywin=window.open() est exactement ce dont Dave se moque.

2 votes

Je ne suis pas sûr de comprendre la question... Vous dites que vous voulez un moyen de référencer une fenêtre que vous ouvrez à partir de l'opener, mais vous dites ensuite que vous ne vous souciez pas de la façon de le faire ?

-1voto

CatPerson Points 101

Désolé de poster tardivement, mais si vous avez toujours l'autre fenêtre ouverte, et qu'elles sont sur le même domaine, vous pouvez l'exécuter sur la première fenêtre :

function getReference(w) {
   console.log('Hello from', w);
}

Et sur la deuxième fenêtre :

window.opener.getReference(window);

-7voto

HBublitz Points 672

A priori, il n'y a pas de moyen comme windows['windowname'] . Le nom "windowname" assigné dans window.open() peut être adressé en tant que cible dans <a target="windowname" [...] >

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X