내가 생각할 수있는 한 가지 방법은 같은 도메인에 속해 있기 때문에 같은 localStorage를 공유하는 한 다른 탭/창이 감지하는 localStorage 변경을 유발하는 것입니다. 이 같은 것을 할 이벤트 트리거 탭의 경우 :
localStorage.setItem('detectMyChange', '0');
localStorage.setItem('detectMyChange', '1');
그런 다음 당신은 다른 탭/창에서 그 변화를 감지하고 반응 할 수 있습니다 (여기에 jQuery를 사용 미안를, 순수 자바 스크립트와 유사하다) :
$(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 ;)
}
});
트리거 창에 두 번 로컬 스토리지를 변경하는 이유는 당신이 로컬 스토리지 변수의 변화를 감지하기 때문에, 동일한 코드를 사용하여 (같은 창 또는 기타에) 다시 이벤트를 트리거 할 수있을 것입니다
하나의 알려진 값에서 또 다른 알려진 값으로.
다른 새 값을 설정하여 다른 정보를 다른 탭/창으로 보낼 수도 있습니다. 도움이 되길 바랍니다.
[Window.postMessage()] (https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage)를 살펴보십시오. –