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-ID: 180973

Url: https://administrator.de/forum/bei-tabwechsel-ajax-request-senden-180973.html

Ausgedruckt am: 23.12.2024 um 07:12 Uhr

nxclass
nxclass 23.02.2012 um 20:49:25 Uhr
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>
Closed
Closed 23.02.2012 um 21:00:49 Uhr
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
Closed
Closed 23.02.2012 um 21:21:00 Uhr
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...