오늘 인터넷에서 이 기사를 봤는데 거의 사용되지 않는 것 같지만 결국 일부 사람들에게는 여전히 그러한 기능이 필요합니다. 그렇지 않으면 이 기사는 주로 다음 문제를 해결합니다.
1. 새 양식을 열 수 있는 링크를 클릭합니다. if 양식을 구현하려면 열려 있는 경우 이미 열려 있는 양식으로 포커스가 이동하고, 그렇지 않으면 새 양식이 열립니다. 난이도: 양식이 열려 있는지, 열려는 양식이 활성 상태인지 확인하는 방법은 무엇입니까?
2. 기본 양식이 닫힐 때 열려 있는 다른 관련 양식을 모두 닫는 방법은 무엇인가요?
구현 포인트:
1. window.open은 새로 열린 창의 창 객체를 반환합니다.
2. 하위 창의 창 개체를 저장하기 위해 시뮬레이션된 간단한 HashMap을 구현합니다.
3. 열릴 때마다 이 HashMap을 검색하여 하위 창이 이미 존재하는지 확인합니다.
4. 존재하는 경우 포커스를 직접 전환합니다(window.focus).
5. 존재하지 않는 경우 하나 엽니다.
6. 4의 경우 하위 창이 닫혔을 가능성이 있으므로 몇 가지 트릭을 적용하여 먼저 포커스를 호출했습니다(사실 어떤 방법이든 가능합니다). 오류가 있으면 다음과 같이 엽니다. 잘.
7. 상위 창을 닫을 때 HashMap을 탐색하고 모든 하위 창을 닫아보세요.
8. 모든 작업은 상위 창에서 수행됩니다.
9. js와 dhtml에 익숙해지고 세부 사항에 주의를 기울이기만 하면 전체 구현 원리는 실제로 매우 간단합니다.
현재 IE 6 sp1은 테스트를 통과했습니다. FF는 window.focus를 지원하지 않기 때문에 사용하기에 적합하지 않습니다.
외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다.
]
패키지 파일 다운로드