2013-12-08 2 views
-3

다른 사용자의 스파이 활동을 가능하게하는 페이지를 쓰고 싶습니다.다른 사용자의 스파이 활동

두 명의 사용자가 동일한 페이지를 보는데, 이는 매우 간단합니다 (수직 스크롤바, 입력, 버튼, checbox ...). 페이지에서 첫 번째 사용자가 수행 한 각 작업은 두 번째 사용자에게 즉시 표시됩니다. 예를 들어, 첫 번째 사용자가 버튼을 클릭하면 두 번째 사용자는 자신의 페이지 (두 사용자의 페이지가 똑같이 보입니다)를 클릭하는 것을 봅니다. 단순히 두 번째 사용자가 첫 번째 사용자가 수행하는 작업을 모두 실시간으로 볼 수 있습니다.

물론이 웹 페이지의 코드를 제어한다고 가정합니다.

그리고 내 질문 :

그렇게 할 수있는 간단한 방법이 있나요, 아니면 각 이벤트에 대한 핸들러를 작성하고 명시 적으로 Ajax를 웹 소켓을 사용하여 두 번째 사용자에게 데이터를 보낼 수 있나요? 각 작업을 처리 할 필요없이 다른 사용자의 프레임을 가로 챌 수 있습니까?

나는이 스파이 프로그램의 기본 버전을 웹 소켓을 기반으로 작성했습니다. 첫 번째 사용자가 수행 한 각 작업은 다른 사용자에게 전송됩니다.
메시지를 수신 한 후 데이터를 구문 분석하고 적절한 방법을 호출하므로 두 페이지 모두에서 동일한 동작이 발생합니다. 정확하게 작동하지만이 방법을 사용하면 페이지 (내 버전 사용자는 동일한 html 콘텐츠가 있으므로이 방법을 적용 할 수 있음)에 대한 지식 없이도이 작업을 수행하는 것이 더 복잡한 작업이됩니다. 전체적으로 나는 (각 이벤트를 처리하기위한 필요없이)보다 간단한 솔루션을 찾고 있습니다.

스택 오버플로에서 지금까지 약 50 개의 웹 페이지, 기사 및 답변을 탐색했지만 더 간단한 해결책에 대해 이야기하는 내용을 찾지 못했습니다. (제 친구는 비슷한 질문을했지만 몇 가지 답변 만 있습니다). 전체 솔루션에 관심이 없습니다. 귀중한 힌트 또는 명백한 링크를 제공하시기 바랍니다. 은 어쩌면 내가

당신의 도움이 악성 소리 때문에 귀하의 질문은 아마 대부분을 downvoted지고

+1

리소스 요청은 허용되지 않습니다. 극복해야 할 장애물이 있습니까? 어떤 일이 발생할 때마다 발생하는 "일이 일어났습니다"이벤트를 찾고 있다면, 그 이벤트를 얻지 못할까봐 걱정됩니다. –

+0

이벤트에 대한 내 대답을 편집하십시오. –

답변

0

주셔서 감사합니다 ... 정확한 문구를 입력하지 않았다. 제목에서 '스파이'라는 단어로 질문하는 대신 '공동 작업'이라는 단어를 사용합니다. 제가 방금 읽은 것에서, 당신이하고 싶은 것은 다른 클라이언트와 같은 화면에서 작업하는 것입니다, 그들에게 '스파이'가 아닌 것 같습니다.

당신이 전에 togetherJS 건너 온 :

어쨌든, 귀하의 질문에 대답하기 위해? 이것은 2 명 이상의 사용자가 실시간 협업을 할 수있게 해주는 플러그인입니다. 전체 DOM 작업이 파트너 화면에 표시되므로 더 이상 DOM의 각 요소에 이벤트 핸들러 액션을 작성할 필요가 없습니다. 프로젝트는 또한 mozilla에 의해 호스팅되기 때문에 플러그인을 사용하기 위해 실시간 서버를 직접 호스트 할 필요조차 없습니다. 승리!

플러그인의 사용을 시연하는 프로젝트 웹 페이지에 몇 가지 훌륭한 데모가 있습니다. 간단하지만 효과적인 예를 보려면 collaborative drawing demo을 확인하십시오.

실제로 플러그인을 웹 사이트에 통합하는 경우 더 쉬울 수 없습니다.다음과 같이 페이지에 호스트 스크립트를 포함하기 만하면됩니다.

<script src="https://togetherjs.com/togetherjs-min.js"></script> 

그런 다음 웹 사이트에서 플러그인을 초기화하십시오. 이것은 당신이 예에서 보는 바와 같이, 또는 버튼을 사용하여 문서 준비 이벤트에서 수행 할 수 있습니다

<button onclick="TogetherJS(this); return false;">Start TogetherJS</button> 

당신이, 공동 세션을 시작 단순히 페이지에 다른 클라이언트를 초대 할 때 지금 당신은 둘 것 실시간으로 두 사용자간에 페이지에서 어떤 일이 발생하는지 확인할 수 있습니다.

희망이 도움이 될 것입니다.

+0

첫 번째 단락은 주석이어야합니다 (어쩌면). 대답에 속하지 않습니다. 두 번째 단락은 기본적으로 링크 온리 답 뿐이므로 여기서도 환영받지 못합니다. 예를 들어 함께 사용하려면 _how_에 대해 자세히 설명해 주시겠습니까? –

+0

당신 말이 맞아요. 나는 방공호가 요구하는 모든 정보가 togetherJS 프로젝트 웹 페이지에서 발견 될 수 있다고 가정했습니다. 추가 정보를 포함하도록 제 질문을 수정했습니다. –