2013-11-15 2 views
1

를 사용하여 Windows간에 데이터를 전송할 수있는 경우 궁금 내 목표는 다음과 같은 시나리오를 가지고있다? 더 간단한 해결책은 단순히 모든 것을 단일 창에서 수행하는 것입니다. 나는 express/handlebars를 사용하고있다.나는 Node.js를

+0

postMessage 사용 – moka

답변

2

Socket.io을 확인하면 Node.js 서버와 웹 페이지가 열려있는 모든 브라우저 클라이언트 간의 실시간 통신이 가능합니다.

특정 경우, 창 B가 닫히기 전에 서버는 새 데이터로 클라이언트에 메시지를 보내야합니다. 그러면 클라이언트 측 코드가 새 정보로 웹 페이지를 업데이트 할 수 있습니다.

베어 본 솔루션을 찾고 있다면 WebSockets API (Socket.io 초록)을 확인하십시오. 실시간 응용 프로그램 용으로 제작 된 완전한 프레임 워크를 사용하려면 Meteor을 확인하십시오 (분명히 더 많은 코드 수정이 필요합니다).

1

실제로 서버에서는이 작업을 수행 할 필요가 없습니다.
는 멀리 볼 수있는, (동일한 포트 및 하위 도메인 포함) 동일한 호스트/도메인에 열린 창문의 모두

이 클라이언트 측에서 서로에 모두 창문이 할 수있는 "대화"를 의미한다.
windowB에는 window.opener 속성이 있습니다.

그래서 windowB에서 어떤 일이 일어나는지, 언제든지 windowA에게 무슨 일이 일어 났는지 말할 수 있습니다.

window.opener.setData(myResult); // window.opener == windowA 

창 B에서 또는

window.opener.myGlobalNamespaceObject.property = myResult 

또 다른 해결책은 쿠키를 사용하는, 또는에 대한 로컬 스토리지 것입니다. 당신이 다른 대답은 지적과 같은 도메인이 socket.io로 이동 공유하지 않는 경우

: 데이터 (localStorage eventHandler Doesn't Get Called이 질문 참조) 설정되어있는 경우
사실 로컬 스토리지는, 이벤트를 트리거합니다.

+0

단어와 문장에 적절한 대문자를 사용하도록 편집 한 경우 개선 된 답변을 얻을 수 있습니다. – WiredPrairie