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

Forcer une fenetre en avant plan

6 réponses
Avatar
Phil
Bonjour a tous,

Contexte :

Un fichier DOSSIER.HTM j'ouvre une fenetre : window.open(........)

Dans le fichier qui s'execute dans la fenetre je force un rechargement du
fichier qui a ouvert la fenetre: win=self.opener;win.location.reload();

Le rechargement fonctionne bien mais cela a pour effet (secondaire !) de
mettre ma fenetre en arriere plan

dans la script de la fenetre j'ai ajouté window.focus() pour remettre la
fenetre en avant plan mais cela ne marche pas !

Une idée ?

Merci d'avance

Phil

6 réponses

Avatar
O.L.
Phil a formulé ce mardi :
Bonjour a tous,

Contexte :

Un fichier DOSSIER.HTM j'ouvre une fenetre : window.open(........)

Dans le fichier qui s'execute dans la fenetre je force un rechargement du
fichier qui a ouvert la fenetre: win=self.opener;win.location.reload();

Le rechargement fonctionne bien mais cela a pour effet (secondaire !) de
mettre ma fenetre en arriere plan

dans la script de la fenetre j'ai ajouté window.focus() pour remettre la
fenetre en avant plan mais cela ne marche pas !

Une idée ?

Merci d'avance

Phil


Où as tu mis ton window.focus() ?
Tu pourrais essayer de le lancer qq dizièmes de secondes après l'appel
à win.location.reload(), voir ce que ça donne.

Exemple :
win.location.reload();
setTimeout("window.focus()", 250);

@+
Olivier

Avatar
Phil
setTimeout("window.focus()", 250); avant ou apres le reload ne change rien.

window.focus() est la bonne instruction ?

l'instruction suivant le reload est un autre window.open(....) je l'ai
remplacé par
setTimeout(window.open(),250) et c'est ok !

Merci

Phil


"O.L." a écrit dans le message de news:

Phil a formulé ce mardi :
Bonjour a tous,

Contexte :

Un fichier DOSSIER.HTM j'ouvre une fenetre : window.open(........)

Dans le fichier qui s'execute dans la fenetre je force un rechargement du
fichier qui a ouvert la fenetre: win=self.opener;win.location.reload();

Le rechargement fonctionne bien mais cela a pour effet (secondaire !) de
mettre ma fenetre en arriere plan

dans la script de la fenetre j'ai ajouté window.focus() pour remettre la
fenetre en avant plan mais cela ne marche pas !

Une idée ?

Merci d'avance

Phil


Où as tu mis ton window.focus() ?
Tu pourrais essayer de le lancer qq dizièmes de secondes après l'appel à
win.location.reload(), voir ce que ça donne.

Exemple :
win.location.reload();
setTimeout("window.focus()", 250);

@+
Olivier





Avatar
ASM
Phil wrote:
Bonjour a tous,

Contexte :

Un fichier DOSSIER.HTM j'ouvre une fenetre : window.open(........)

Dans le fichier qui s'execute dans la fenetre je force un rechargement du
fichier qui a ouvert la fenetre: win=self.opener;win.location.reload();


le popup
<body onload="opener.location.reload(); self.focus()"
onblur="self.focus()">

si c'est dans une fonction :

function truc() {
opener.location.reload();
self.focus();
}

Bien qu'à mon idée la fenetre n'a pas à ce remettre devant parcequ'elle
se recharge

nota :
la nvelle page rechargée ne connaîtra plus le popup
et ne pourra le fermer


--
Stephane Moriaux et son [moins] vieux Mac

Avatar
O.L.
Phil a exprimé avec précision :
setTimeout("window.focus()", 250); avant ou apres le reload ne change rien.

window.focus() est la bonne instruction ?

l'instruction suivant le reload est un autre window.open(....) je l'ai
remplacé par
setTimeout(window.open(),250) et c'est ok !


Logique, puisque le window.focus() (ou document.focus() ?) est là pour
faire *revenir* la fenêtre en avant-plan, donc il faut la mettre après
toutes tes demandes d'ouvertures de fenêtres suceptibles de lui faire
perdre le focus.

Avatar
O.L.
Phil a formulé la demande :
l'instruction suivant le reload est un autre window.open(....) je l'ai
remplacé par
setTimeout(window.open(),250) et c'est ok !


Attention, il faut des guillemets pour entourer window.open(), c'est
une chaine de caractères !

Avatar
Saad Saad
Bonjour a tous,

Contexte :

Un fichier DOSSIER.HTM j'ouvre une fenetre : window.open(........)

Dans le fichier qui s'execute dans la fenetre je force un rechargement du
fichier qui a ouvert la fenetre: win=self.opener;win.location.reload();

Le rechargement fonctionne bien mais cela a pour effet (secondaire !) de
mettre ma fenetre en arriere plan

dans la script de la fenetre j'ai ajouté window.focus() pour remettre la
fenetre en avant plan mais cela ne marche pas !

Une idée ?

Merci d'avance

Phil





sous IE tu peux mettre <body onblur="this.focus();">

sous FF tu peux mettre dependent=yes lors de l'appel du popup