Eine Möglichkeit, die ich mir vorstellen kann, ist, eine localStorage-Änderung zu provozieren, die die andere Registerkarte/das andere Fenster erkennt, solange beide derselben Domäne angehören und dieselbe localStorage teilen. Wenn in Ihrer Ereignistriggerung Registerkarte Sie so etwas tun:
localStorage.setItem('detectMyChange', '0');
localStorage.setItem('detectMyChange', '1');
Dann können Sie diese Änderung auf der anderen Tab/Fenster erkennen und darauf reagieren (hier bin ich mit JQuery ist, ähnlich mit reinem Javascript) :
$(window).on('storage', function (e) {
var storageEvent = e.originalEvent;
if ((storageEvent.key == 'detectMyChange') && (storageEvent.oldValue == '0') && (storageEvent.newValue == '1')) {
// Event detected, do some really useful thing here ;)
}
});
der Grund, die localstorage zweimal im Auslöse Fenster zum ändern der Lage sein, die Veranstaltung wieder auszulösen (im selben Fenster oder anderen) mit dem gleichen Code, da Sie die Änderung der localstorage Variable erfassen von einem bekannten Wert zu einem anderen bekannten Wert.
Sie können sogar verschiedene neue Werte festlegen, um andere Informationen an die anderen Registerkarten/Fenster zu senden. Hoffe es hilft.
Werfen Sie einen Blick auf [Window.postMessage()] (https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage). –