Bonjour,
Mon problème concerne le pestiféré Internet Explorer (version 8 qui plus est). Tout code spécifique à cette version est accepté.
Dans le cadre d'une application internet, nous avons un site web qui aime bien ouvrir une popup par fonction.
Nous avons forcé IE à ouvrir les popup dans des onglets, histoire que ce soit moins le bordel.
En raison de problèmes de contextes et de lisibilité, on m'a demandé de "fusionner" deux onglets. C'est à dire que lorsqu'on lance la fonction A ou la fonction B, on arrive dans le même onglet.
Pas de souci, ça se fait en indiquant le même nom à window.open
Seulement, si un onglet du même nom existe déjà, au lieu de prendre le focus comme lors de la création d'un nouvel onglet, il se contente de clignoter bêtement.
Pire, vu que les utilisateurs aiment bien avoir plusieurs fenêtres en plus des onglets, il suffit que l'onglet soit dans une autre fenêtre que la fenêtre active, et l'utilisateur passe 10 minutes à cliquer sur son lien, puis à appeler l'équipe système, avant qu'on lui explique gentilement de faire alt+tab...
Bref, pas très ergonomique.
Comment faire, si window.open se contente de remplacer le contenu d'un onglet actif, pour que ce dernier prenne le focus ?
J'ai essayé sans succès :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var handle = window.open("http://www.google.com", "test"); handle.focus();
Ainsi que l'option "alwaysRaised", sans plus de succès...
Le code pour être exact :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function openFullscreenfocus(page, target) { if (target) { dest = target; } else { dest = '_blank'; } var options = 'location=no, toolbar=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, alwaysRaised=yes'; var t = window.open(encodeURI(page), dest, options); t.moveTo(0, 0); t.resizeTo(screen.availWidth, screen.availHeight); t.focus(); }
Et je l'appelle de la sorte :
PS : Pas taper pour le code hein... Il s'agit de faire des adaptations dans un ERP, c'est pas moi qui ai écrit le bousin, et je risque pas de me coltiner les 400 Mo de code pour tout passer en CSS3 :o
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 openFullscreenfocus("?sourceview=I_PER" + typtie + "_E_F&cinematic=forward(0)&chp:Sigtie=" + sigtie + "&chp:Nomtie="+nomtie+"&chp:Typtie=" + typtie + "&entity=" + entity, "Tiers");
Partager