2012-08-10 5 views
1

홈 페이지에 하나의 아이콘 (열어 본 모양)이 있습니다. 이 아이콘을 클릭하면 하나의 하위 창이 열리 며 해당 홈 페이지의 아이콘도 '닫기 아이콘'으로 변경됩니다. 이 팝업 창을 닫을 때 아이콘은 홈 페이지에서 이전 아이콘 (i, e 열린 아이콘)과 동일해야합니다. 같은 페이지에 있으면 잘 작동합니다.브라우저의 하위 창 수는 어떻게 얻을 수 있습니까?

홈 페이지에서 다음 페이지로 리디렉션 할 때 전체 페이지가 다시로드됩니다. 그리고 팝업 창이 열리더라도 기본 이미지 (열린 아이콘)가 표시됩니다.

지금 내 요구 사항은 이미지가 팝업 창에 따라로드해야 페이지 리디렉션의시

1)입니다. 팝업 창이 열려있는 경우 닫기 아이콘이 표시되어야합니다. 그렇지 않으면 이 표시됩니다. 아이콘이 표시됩니다.

2) 페이지가 새로 고쳐 지거나 다른 페이지로 리디렉션되는 경우 팝업 창의 참조가 제거됩니다. 그러면 리디렉션 페이지에서 해당 팝업 창의 참조를 어떻게 얻을 수 있습니까?

내가 시도 다음 해결책 : 브라우저에 대한

편집을 자식 창 수를 계산하는 방법

3)

1) 나는 개방시 쿠키를 설정 팝업 창을 닫고 그 팝업 창을 닫을 때마다 해당 쿠키를 재설정합니다. 그러나 문제는 페이지 리디렉션시 팝업 창이 닫히면 페이지가 계속 처리 중이기 때문에 쿠키가 이전 값으로 재설정되지 않습니다. 사전

답변

1

에서

2) 또한

저를 도와주세요 세션 변수와 같은 문제, 감사 때 개폐 쿠키 나 세션 변수를 설정합니다. 이렇게하면 새 요청 중에 팝업 창의 상태를 기억할 수 있습니다.

+0

ur 답장을 보내 주셔서 감사합니다. 쿠키 또는 세션 변수를 설정하면 문제가 하나 있습니다. 문제는 내가 창을 열 때 하나의 세션 변수를 설정할 때입니다. 페이지 리다이렉션시 그 창을 닫았습니다. 하지만 페이지가 여전히 처리 중이고 세션 변수가 그 당시 재설정되지 않았습니다 – Valli69

+0

당신은 또한 localStorage를 사용할 수 있습니다 – starbeamrainbowlabs

+0

@starbeamrainbowlabs 내가 localStorage를 사용할 수있는 방법은 조금 더 설명해 주시겠습니까 – Valli69

0

한 페이지에서 다음 페이지로 이동하면 팝업 창에 대한 참조가 손실됩니다. 그러나 팝업 창이 기본 창에 대한 참조를 잃지 않습니다. window.opener는 페이지가 변경 되더라도 항상 열려있는 창을 가리 킵니다. 이 사실을 사용하여 탐색 이벤트 후 창 사이의 통신을 다시 설정하십시오. 메인 윈도우를 조사하려면 인터벌 함수를 사용해야 할 수도 있습니다. 왜냐하면 나는 당신이 이벤트를들을 수 있다고 생각하지 않기 때문입니다.

+0

나는 많은 튜토리얼을 통해 갔다. 나는 그 창을 발견했다.오프너 객체는 페이지 리디렉션 이후 또는 상위 페이지가 새로 고쳐진 후에 더 이상 사용할 수 없습니다. 그리고 홈 페이지가 아닌 리디렉션 된 페이지에서 해당 하위 창 개체를 참조해야합니다. – Valli69

+0

정말 이니? 오프너와 팝업 창이 동일한 도메인을 갖고 프로토콜이 일치하는 한, window.opener가 유지되어야합니다. window.opener에 저장된 객체가 다른 도메인에 속한 것으로 오염 될 것이므로 open()에 대한 호출이 다른 웹 사이트로 이동하면 오류가 발생할 수 있다고 생각합니다. – cleong

+0

예, open()에 대한 코드 호출이 다른 웹 사이트로 변경되었습니다 – Valli69

관련 문제