Frage

Ist es möglich, ein neues Fenster in JavaScript mit der window.Open Funktion zu starten, dann den Fokus auf diese Registerkarte?

Hier ist, was ich heute mache:

            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) {
            }

Das Fenster öffnet sich, aber die neue Registerkarte Fokus nicht erhalten.

War es hilfreich?

Lösung

Jay,

Sie sehen entworfen Verhalten. Um Chancen auf schädliches Verhalten zu begrenzen, Skripte in tabbed windows nicht ausgeführt andere Registerkarten beeinflussen kann.

Weitere Informationen finden Sie unter Tabbed Browsing für Entwickler unter http: // msdn.microsoft.com/en-us/library/ms537636.aspx :

„Die Möglichkeit, mehrere Dokumente im selben Browserfenster zu öffnen hat bestimmte praktische und Auswirkungen auf die Sicherheit [...] Aktive Registerkarten (Tabs mit Fokus) nicht durch Skripte beeinflusst werden, die in inaktiven oder Hintergrund Tabs laufen.“

BR.

Andere Tipps

Als Benutzer, ich will nie Anwendungen (oder Tabs) Fokus zu nehmen, wenn ich es ausdrücklich darum gebeten. Ich habe große Anstrengungen unternommen Tabs in meinem Browser (Firefox) von Fokus aus diesem Grunde nehmen zu verhindern.

Ich bin ziemlich sicher, dass Sie nicht den Fokus auf einen anderen Tab verschieben kann.

Mein Verständnis ist dies etwas getan wird, um Pop-ups und andere schädliche Inhalte zu beschränken stehlen die Nutzer konzentrieren.

Wenn die anderen „Register“ sind Teil Ihrer Anwendung (und nicht die Inhalte von einem anderen Standort) vielleicht sollten Sie es in einem Popup-div auf der Oberseite des Hauptinhaltes statt in einem separaten Fenster umfassen; auf diese Weise Sie es jederzeit kontrollieren kann Fokussierung deaktiviert den Inhalt darunter (für modale Dialoge), versteckt es, etc.

Als Anwender soll ich nicht in der Lage sein, zu steuern, wie dies funktioniert?

Was, wenn es eine Anwendung, die von dieser Funktion verbessert werden würde, die ich laufen soll - soll ich nicht in der Lage sein, eine Domain zu gewähren, das Privileg

Nur so ein Gedanke.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top