Question

Est-il possible de lancer une nouvelle fenêtre en JavaScript à l'aide de la fonction window.Open, puis de définir le focus sur cet onglet?

Voici ce que je fais aujourd'hui:

            var winRef = window.open(outUrl,wName,'left='+ wX +',top=' + wY + ',height=' + wH + ',width=' + wW + args);
            try {
                // Not all window types support the focus() property.
                winRef.focus();
            }
            catch (exception) {
            }

La fenêtre s'ouvre mais le nouvel onglet ne reçoit pas le focus.

Était-ce utile?

La solution

Jay,

Vous observez un comportement conçu. Pour limiter les possibilités de comportement malveillant, les scripts exécutés dans des fenêtres à onglets ne peuvent pas affecter les autres onglets.

Pour plus d'informations, voir Navigation par onglets pour les développeurs à l'adresse http: //. msdn.microsoft.com/en-us/library/ms537636.aspx :

"La possibilité d'ouvrir plusieurs documents dans la même fenêtre de navigateur a certaines implications pratiques et en matière de sécurité [...] Les onglets actifs (onglets avec focus) ne peuvent pas être affectés par les scripts exécutés dans des onglets inactifs ou en arrière-plan." / p>

BR.

Autres conseils

En tant qu'utilisateur, je ne souhaite jamais que les applications (ou les onglets) soient prioritaires, à moins que je ne le demande spécifiquement. C'est pour cette raison que j'ai déployé beaucoup d'efforts pour empêcher les onglets de mon navigateur (Firefox) de se concentrer.

Je suis pratiquement certain que vous ne pouvez pas déplacer le focus vers un autre onglet.

D'après ce que j'ai compris, cela a pour but d'empêcher quelque peu les pop-ups et autres contenus malveillants de détourner l'attention des utilisateurs.

Si l'autre "onglet" " fait partie de votre application (et non du contenu d'un autre site), vous devriez peut-être l'inclure dans un div popup au-dessus de votre contenu principal plutôt que dans une fenêtre séparée; De cette façon, vous pouvez toujours contrôler la mise au point, désactiver le contenu situé en dessous (pour les dialogues modaux), le masquer, etc.

En tant qu'utilisateur, ne devrais-je pas pouvoir contrôler comment cela fonctionne?

Que se passe-t-il s'il y a une application qui serait améliorée par cette fonctionnalité que je veux exécuter, ne devrais-je pas être en mesure d'accorder ce privilège à un domaine?

Juste une pensée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top