저는 HTML5 캔버스 요소를 사용하여 소위 랜덤 아트 생성기를 제작하고 있습니다. 이제 실시간으로 캔버스의 시각적 동작을 제어하는 버튼을 별도의 창에 표시하고 싶습니다. 그렇게 할 수있는 방법이 있습니까? 두 개의 별도 브라우저 창을 제어하는 자바 스크립트가 필요하다고 생각합니다.하나의 자바 스크립트가 두 개의 별도 브라우저 창을 제어합니다.
2
A
답변
0
크로스 문서 메시징 용 통신 API가 필요합니다.
postMessage
을 사용하면 메시지를 보내고받을 수 있습니다. 또한
//Post message
window.postMessage('Hello world...', 'http://example.com');
//Bind events
window.addEventListener('message', messageHandler, true);
은 브라우저 지원을 확인하는 것을 잊지 마세요 :
if(typeof window.postMessage === "undefined"){
alert('Your browser doesnt support this functionality');
}
2
당신은 당신의 두 페이지가 동일한 원점에서 (프로토콜, 호스트 이름 것을 제공하는 크로스 문서 메시징을 사용할 수 있습니다 , 포트). 이것은 수행하는 방법이다 :
정보를 보내야 페이지에(당신의 버튼 있음)이 호출 :의 (URL을 제공 원점에서 제공하는 메시지를 보내드립니다
window.postMessage(message, origin);
당신의 다른 페이지).
yourfunction
인수를 취
window.addEventListener("message", yourfunction);
, e
: 당신의 왔는지 페이지에서
e
는 타입 된 MessageEvent이며 다음과 같은 속성이 포함되어
- 데이터
- 기원
- 소스 (전송 스크립트와 관련된 윈도우를 반환합니다.)
그리고 그 모든 작업이를 그것!
관련 문제
- 1. 두 개의 별도 링크를 클릭하여 두 개의 별도 팝업 창을 여는 방법은 무엇입니까?
- 2. 두 개의 별도 파이썬 목록이 하나의 역할을합니다.
- 3. 두 개의 자바 스크립트가 충돌합니다
- 4. 두 개의 브라우저 창을 열지 않으려면 어떻게해야합니까?
- 5. 두 개의 연속 페이지에 자바 스크립트가 있습니다.
- 6. 하나의 브라우저 탭에 여러 개의 자바 스크립트 인터프리터
- 7. XSLT - 두 개의 별도 데이터 소스가 하나의 XSLT에 병합되었습니다.
- 8. Backbone.js : 두 개의 별도 UI 영역에서 하나의 컬렉션으로 어떻게 작업해야합니까?
- 9. jQuery 두 개의 별도 요소에 가져 오기
- 10. html - 하나의 링크는 두 개의 창을 엽니 다.
- 11. 자바 스크립트가 PHP 브라우저 탐지
- 12. cURL : 두 개의 별도 요청, 동일한 세션
- 13. 자바 스크립트에서 브라우저 창을 감지합니다.
- 14. 두 스크립트 자바 스크립트 내가 파일에 두 개의 스크립트가 함께
- 15. ppDisp을 사용하여 사용자 폼의 팝업 창을 제어합니다.
- 16. 두 개의 별도 linq 쿼리에 합류
- 17. 두 개의 별도 TextViews에있는 SystemDate 및 SystemTime
- 18. 두 개의 별도 JAR (Maven 포함)
- 19. 열을 두 개의 별도 열로 구분합니다.
- 20. 두 개의 모달 창을 구별합니까?
- 21. 브라우저 창을 닫기 전에 뭔가를하십시오.
- 22. 2 개의 별도 스크립트
- 23. 자바 스크립트로 두 개의 웹보기 간 통신
- 24. 브라우저 창을
- 25. MySQL 데이터베이스 디자인, 두 가지 유형의 레코드 - 하나의 테이블 또는 두 개의 별도 테이블 사용?
- 26. 자바 스크립트가 포함 된 브라우저 backbtn
- 27. 두 개의 Flash Player 창을 함께 연결
- 28. 자바 스크립트가 하나의 클래스 이름을 변경합니다.
- 29. 하나의 앵커, 두 개의 대상
- 30. 두 개의 별도 SQL 데이터 원본에서 레코드 삭제
전혀 도움이되지 않습니까? –