문제

특정 웹 사이트의 외국 사례를 찾을 수 있습니까? OFC theese는 독립적으로 탭을 열었습니다 (Window.open이 아님). 사용자가 2 개의 탭을 열지 못하고 이전에 열린 탭으로 메시지를 보내서 2 탭을 열 수 없음을 알려 주어야합니다. 2 개의 Intependent 탭은 페이지 오프라인 스토리지 및 WebSQL 구조를 중단하여 사람들이 2 개의 탭을 사용할 수 없도록 할 수 있습니다. 또한 Semi-Fline 앱이므로 클라이언트 측 솔루션이어야합니다.

도움이 되었습니까?

해결책

LocalStorage를 사용하여 탭에서 통신 할 수 있습니다. 값을 쓸 때마다 모든 탭의 창 객체에서 "스토리지"이벤트가 시작됩니다 (현재의 경우).

http://diveintohtml5.info/storage.html

"HTML5 스토리지 영역의 변경 사항 추적"으로 스크롤하십시오.

이벤트에는 포함됩니다 event.key, event.newValue, event.oldValue.

이것은 현대식 브라우저에서만 작동합니다.

다른 팁

2021 년에는 서비스 작업자를 사용할 수 있습니다.

https://github.com/gyteng/service-worker-event

통지 : 서비스 작업자는 작동합니다 https 규약

LocalStorage를 사용하여 Windows를 추적 할 수 있습니다. 창문이 충돌 할 때 상황을 고려해야합니다. 가비지를 현지 스토리지에 남겨 둡니다. 여러 창에서 공통 리소스에 동시에 액세스하는 것은 LocalStorage를 기반으로 MUTEX에 의해 수행 될 수 있습니다.

최근에 출판했습니다 통신 인터 커뮤니케이션 라이브러리 (모든 기능은 readme에 설명되어 있습니다). 스레드-안전 데이터 공유, 창과 잠금 장치 및 이벤트 방송을 제공합니다. 또한 일부 IE 문제를 해결합니다.

브로드 캐스트 채널은이를위한 디자인입니다https://developer.mozilla.org/en-us/docs/web/api/broadcast_channel_api

그러나 기본 API는 최신 브라우저 만 지원합니다. 모든 오래된 브라우저도 NPM 패키지를 지원합니다.https://www.npmjs.com/package/broadcast-channel

당신은 그것에 대한 통제력이 없습니다. 사용자는 기본적으로 컴퓨터에서 원하는 모든 것을 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top