2011-08-24 4 views
0

URL이 웹 소켓을 통해 전달되는 브라우저에 다른 웹 페이지를로드하려는 경우가 있습니다.
이제는 소켓 서버에 연결된 하나의 html 페이지 내부에서 다른 URL로 리다이렉트하는 명령을 받으면 소켓 연결이 끊어지며이 소켓 기능이없는 한 새 페이지에는 불가능합니다 그것 내장.
한 가지 아이디어는 기본 페이지가 소켓 서버에 연결된 상태에서 페이지를 계속 변경하는 인라인 프레임과 함께 기본 페이지를 사용하는 것입니다.
알고 싶습니다. 소켓을 통해 URL 명령을 수신해야하는이 작업을 수행하는보다 효율적인 방법이 있습니까? 아이디어는 iFrames를 피하는 것입니까?HTML5 웹 소켓을 사용하여 다른 HTML 페이지를 메인 HTML 페이지에로드하기

답변

1

메인 페이지가 웹 브라우저처럼 작동하는 것처럼 들립니다. 새로운 URL을 얻은 다음이를 기반으로 실제 페이지를로드합니다. 상태를 유지하고 어떤 페이지가 로딩 중인지를 제어 할 무언가가 필요하며 웹 소켓으로 상태를 유지하는 유일한 방법은 해당 페이지를 열어두고 연결을 유지하는 것입니다.

나는 볼 수있는 유일한 해결책은 당신이 제안한 IFRAME입니다.

+0

덕분에, 유일한 문제와 당신의 데이터 개체를 = iFrame이 커서입니다. 커다란 화면 출력에 사용될 커스텀 커서를 만들었고 iFrame 코드에 커서 코드를 삽입 할 수있는 권한이 없습니다. transpired div 레이어를 추가하면 Iframe 내부 요소를 클릭 할 수 없습니다. 이 문제를 해결할 방법이없는 것처럼 보입니다. – Johnydep

+0

IFRAME의 내용을 '소유'하지 않으므로 커서 문제/요구 사항에 대한 해결책이 없다는 것이 옳다고 생각합니다. – leggetter

1

큰 질문입니다! 나는 이것에 대해서도 생각하고 있었다. 모든 링크가 루프이 서버 또는 클라이언트 측에서 무언가를 해결하려면 (코드 스케치입니다,하지만 올바른 생각은) : DOMObj 페이지 콘텐츠와

i=0 
linkArray[i] = DOMObj.getElementsByTag('a').firstChild[i] 
DOMObj.getElementsByTag('a').firstChild[i].href = "href='serverLoad(linkArray[i])'" 
관련 문제