Überprüfen Sie, ob der Benutzer 2 Tabs gleichzeitig geöffnet hat – Javascript

[ad_1]

Überprüfen Sie, ob der Benutzer 2 Tabs gleichzeitig geöffnet hat - Javascript

Wenn Sie WhatsApp Web verwendet haben, kann es vorkommen, dass Sie beim Öffnen von web.whatsapp.com in mehreren Registerkarten im selben Browser die Fehlermeldung „wird bereits in einer anderen Registerkarte geöffnet“ erhalten.

Dies geschieht aus verschiedenen Gründen, an erster Stelle steht die Sicherheit. Wie können Sie diese Funktion zu Ihrer Website hinzufügen? Der folgende Code zeigt eine Warnmeldung an, wenn ein 2nd Registerkarte wird gleichzeitig geöffnet:

<script>
    // Broadcast that you're opening a page.
    localStorage.openpages = Date.now();
    window.addEventListener('storage', function (e) {
        if(e.key == "openpages") {
            // Listen if anybody else is opening the same page!
            localStorage.page_available = Date.now();
        }
        if(e.key == "page_available") {
            alert("One more page already open");
        }
    }, false);
</script>

window.addEventListener(‚Speicher‘, Funktion (e) {});” Dieser Listener wird nur aufgerufen, wenn der Wert des lokalen Speichers von einer externen Quelle aktualisiert wird, was bedeutet, dass die andere Registerkarte Änderungen im lokalen Speicher vorgenommen hat.

Wie es funktioniert:

Möglicherweise müssen Sie die folgenden Schritte 2 oder 3 Mal lesen, um das Konzept richtig zu verstehen.

  1. Wenn Sie die 1 . öffnenst tab, Zeile # 3 wird einen lokalen Speicherwert namens „openpages“ erstellen.
  2. Speicherhörer wird NICHT aufgerufen werden, da der lokale Speicherwert über diese Registerkarte aktualisiert wird.
  3. Wenn Sie die zweite Registerkarte öffnen, wird in Zeile 3 auch ein lokaler Speicherwert namens „openpages“ erstellt.
  4. Speicherhörer aus dem 1st Registerkarte wird aufgerufen, da der lokale Speicher vom 2.nd Tab.
  5. 1st tab erhält den Wert von „e.key“ als „openpages“.
  6. Daher wird in Zeile 7 ein weiterer lokaler Speicherwert „page_available“ erstellt.
  7. Dies ruft nun den Speicher-Listener von der 2 . aufnd Tab. Denn für die 2nd Registerkarte, es wird von der 1 . aufgerufenst Tab.
  8. 2nd tab erhält den Wert von „e.key“ als „page_available“, sodass eine Warnmeldung angezeigt wird.

Lassen Sie es mich wissen, wenn Sie Probleme haben, dies zu verstehen.




[ad_2]