2009-07-09 6 views
0

Ich versuche, einen vorhandenen Tab zu konzentrieren, wenn der Inhalt neu geladen wird. Die üblichen Fenstermethoden scheinen nicht zu funktionieren.Wie fokussiere ich eine vorhandene Registerkarte in einem Fenster? (Webseite, nicht Erweiterung)

Hier ist was passiert: Auf page_1 Ich habe einen Link wie ...

<a href="page_2.html" target="page_2">Go to my other page</a>

Wenn die Registerkarte nicht vorhanden ist, wenn der Link angeklickt wird es einen neuen Tab öffnet und erhält den Fokus. (Perfekt)

Wenn Sie dann zurück zu page_1 und klicken Sie auf den Link erneut, lädt es den Inhalt in der vorhandenen Registerkarte (perfekt) aber nicht fokussiert (Mist). Ich habe die üblichen window.focus, $ (window) .focus Methoden beim Laden mit page_2 ohne Glück versucht.

Irgendwelche Empfehlungen?

Antwort

-1

Ohne ein Framework zu verwenden, können Sie einen Skriptblock am unteren Rand Ihrer Seite platzieren, der ausgeführt wird, sobald die Seite geladen ist. Weil es nach Ihrem HTML-Code ist, können Sie sicher sein, dass der HTML-Code tatsächlich verfügbar ist.

Das Skript kann den Fokus auf das gewünschte Element setzen.

+0

Die Frage ist, über Fokussierung Browser-Tabs, nicht Elemente. – Quentin

1

Es ist unmöglich.

+1

Und ich würde sagen, das ist ein Glück! – Ms2ger

0

Es gibt einen Workaround zu diesem Problem. Verwenden Sie Javascript, um ein Fenster in einem neuen Register zu öffnen, einen Verweis auf dieses Register zu speichern und wenn Sie es fokussieren möchten; schließe es zuerst und öffne es dann erneut.

if (window.existingWindow != null) 
    try { window.existingWindow.close(); } catch (e) { }; 
window.existingWindow = window.open("/your/url", "yourTabName"); 

Wir verwenden einen ähnlichen Ansatz das Vorschaufenster der aktuellen Seite zu öffnen Sie gerade arbeiten in unseren Dienst namens Handwerk, wo die oben genannten Arbeiten wie erwartet (wir konzentrieren das neue Fenster zu immer gewünscht).

1

Nachfolgend erscheint in IE8 und FF13 zu arbeiten:

<script type="text/javascript"> 
// Stupid script to force focus to an existing tab when the link is clicked. 
// And yes, we do need to open it twice. 
function openHelp(a) { 
    var tab = window.open(a.href, a.target); 
    tab.close(); 
    tab = window.open(a.href, a.target); 
    return false; 
} 
</script> 
<a href="help.html" target="help" onclick="return openHelp(this);">Help</a> 
+0

FYI, es ist nicht erlaubt, dieselbe Antwort immer wieder mit dem gleichen Inhalt zu posten. Sie haben die [selbe Antwort] (http://stackoverflow.com/questions/8135188/focus-tab-or-window/15247882#15247882) bereits früher gepostet. –

Verwandte Themen