closed
Goto Top

Bei Tabwechsel AJAX Request senden

Hi,

ich möchte gerne in meiner Webapplikation Multitabbing erlauben. Dazu würde ich gerne wissen, wie ich mit Javascript einen Wechsel zwischen Tabs nachvollziehen kann. Ein Beispiel dazu:

Ein Benutzer macht meine Webapp zweimal auf (je einmal in einem eigenen Tab). Jetzt führt er Aktionen im ersten Tab aus und wechselt dann in den zweiten Tab und führt ebenfalls dort Aktionen aus.

Ich möchte jetzt über genau diesen Tabwechsel informiert werden. Aktuell versuche ich es mittels window.onfocus=init(); . Dies funktioniert aber nicht. Genauer gesagt, es funktioniert bei einem reload der Seite, aber nicht, wenn ich den Tab wechsel. Gibt es eine Möglichkeit mittels JS dieses onfocus abzufangen? ICh bin auch über Lösungen mit Frameworks, wie JQuery offen.

Besten Dank für Antworten

Content-Key: 180973

Url: https://administrator.de/contentid/180973

Printed on: April 25, 2024 at 06:04 o'clock

Member: nxclass
nxclass Feb 23, 2012 at 19:49:25 (UTC)
Goto Top
... Du benutzt den Internet Explorer ?
document.onfocusin = function() {
    // ...
};

JQuery:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>  
<script type="text/javascript">  
    $(document).focus(function () {
         // ...
    });
</script>
Member: Closed
Closed Feb 23, 2012 at 20:00:49 (UTC)
Goto Top
Hi,

nein das hilft leider auch nicht. Das einzige, was bisher klappt ist ein <body onFocus="init();">
Dabei wird aber leider bei jedem Tab-Wechsel die Funktion init() so oft aufgerufen, wie Tabs vorhanden sind und entsprechend jedesmal die TabID (window.name) mitgesendet.

Aktuell nutze ich Firefox, die Lösung sollte im besten Fall natürlich Browserunabhängig sein face-smile
Member: Closed
Closed Feb 23, 2012 at 20:21:00 (UTC)
Goto Top
Das, was bislang auffällt ist, dass der ausgewählte Tab als letztes gesendet wird. Es scheint somit aktuell so, dass JS da eine Ordnung mit reinbringt. Sobald ich das weiter eruiert habe, kann ich sagen, ob es zuverlässig funktioniert oder nicht. Aktuell ist die Lösung mit onfocus="" zwar unschön, aber zumindest geht es mal...