2010-03-10 3 views
1

여러 웹보기가있는 응용 프로그램에서 두 개의 별도 웹보기에있는 JavaScript가 서로 직접 통신하도록 할 수있는 방법이 있습니까? 하나의 webview에서 다른 webview의 내용을 제어하기 위해 JavaScript를 사용하고 싶지만, 각 환경이 완전히 분리되어 있고 통신이 직렬화되어 webview 컨트롤러를 통해 전송되어야한다는 것이 장점입니다.자바 스크립트로 두 개의 웹보기 간 통신

답변

0

동일한 웹보기에서 <frameset>, 등을 사용하면 두 페이지간에 통신 할 수 있습니다.

그렇지 않으면,이 (전체 웹킷 프레임 워크는 개인 API이기 때문에 ESP. iPhoneOS을 위해.) 환경의 외부를 볼 수있는 방법은 내가 같은 일을 찾고 있어요

+0

촬영. 유감 이네요. 내 문제의 핵심은 각각 독립적으로 스크롤 할 수있는 여러 개의 webview가 필요하다는 것입니다. 지금 저는 스크롤 컨트롤러가 관리하는 좌우 스크롤이있는 하나의 와이드 웹보기를 사용하여 데이터의 "페이지"와 웹보기로 제어되는 위아래 스크롤 사이를 이동합니다. 좌우로 부드럽게 작동하지만 위아래로 조절하는 것은 매우 어렵습니다. HTML 조각을 serialize하고 webview 컨트롤러를 통해 웹 조각을 전달할 것을 생각하고 있었지만 바인딩 이벤트는 관리하기가 매우 어려웠습니다. – Andrew

0

없습니다 및이 스레드를 건너 왔어요 문제를 연구합니다. 아직 모델링 할 기회가 없었지만 Objective-C 래퍼와 통신하기 위해 JavaScript를 먼저 사용하고 자바 스크립트 호출을 통해 두 번째 WebView로 해당 데이터를 보내는 것이 이론적으로 가능할 것으로 보입니다. 이 두 가지 (독립적 인) 단계에 대한 정보는 여기에서 확인할 수 있습니다. http://www.codingventures.com/2008/12/using-uiwebview-to-render-svg-files/

+0

Objective C를 사용하면 단일 웹 뷰로 머물게되었습니다. 그러나 응용 프로그램을 프록시로 사용하면 효과가 있습니다. 필자는 안드로이드에서 여러 가지 웹 뷰 사이에서 메시지를 보내는 MessageCenter 객체를 만들었습니다 .iOS에서는 URL을 변경하여 응용 프로그램 계층과 통신 할 때주의해야 할 사항 중 하나는 URL을 빠르게 연속해서 두 번 설정하면 일반적으로 마지막 URL 만 선택됩니다 .JavaScript로 대기열을 작성하고 새로운 메시지를받을 준비가되면 응용 프로그램에 대기열을 전달하는 것이 가장 좋습니다. – Andrew