다중 창 프레임 페이지에서는 하위 창 간의 정보 상호 작용이 일반적입니다. 탐색창에서 하이퍼링크를 클릭하면 링크된 웹페이지를 다른 창에서 어떻게 열 수 있나요? 이 창에서 버튼을 누르면 다른 창에서 메시지를 쓸 수 있나요? 창이 너무 많은데 어떻게 식별하나요? 아래 예를 참조하십시오.
1. 탐색 창의 링크를 클릭하여 다른 창에서 웹 페이지를 엽니다.
기존의 1프레임 페이지는 위 그림과 같습니다. A창은 웹사이트 로고 및 광고, B창은 탐색바, C창은 페이지를 표시하는 창입니다. 이 프레임 페이지의 소스 코드는 다음과 같습니다.
| <프레임세트행=20%,*> <framename=topFramescrolling=NOnoresizesrc=toppage.htm> <framesetcols=18%,*> <프레임 이름=leftFramenoresizesrc=leftpage.htm> <프레임 이름=mainFramesrc=mainpage.htm> </프레임세트> </프레임세트> |
창 B의 링크된 페이지(test.htm)를 창 C에서 열어야 하는 경우 창 B의 링크는 다음과 같이 작성되어야 합니다. <a herf=test.htm target=mailFrame> 이 링크의 페이지 C 창에서 열려야 합니다. </a> 여기서 핵심 역할은 <A> 태그의 대상 매개변수입니다. 해당 창에서 웹페이지를 열려면 대상 매개변수에 해당 창의 이름을 설정하세요.
2. B 창에서 버튼을 누르고 C 창에 텍스트 한 줄을 씁니다.
이 예제의 페이지 형식은 이전 예제와 동일합니다. 완성된 효과는 다음과 같습니다. B 창에서 "Write in Window C" 버튼을 누른 후 "Hi! Hello! This is through Words listed for"라는 텍스트 줄이 나타납니다. B 창 제어." 프레임이 있는 페이지의 코드와 각 창의 웹페이지 파일은 위의 예와 동일합니다.
준비 방법:
1. C 윈도우 웹 페이지(mainpage.htm)의 소스 코드 <head>와 </head> 사이에 다음 Javascript 프로그램을 삽입합니다.
| <스크립트언어=자바스크립트> <!-- 함수htest(){ document.write(안녕하세요! 안녕하세요! B창 컨트롤을 통해 작성한 단어입니다.) } --> </script> |
이 프로그램의 기능은 현재 창에 텍스트를 쓰는 것입니다.
2. 그러면 창 B의 창 C에 있는 프로그램을 어떻게 호출합니까? 먼저 창 B에 있는 "Write in Window C" 버튼의 소스 코드를 살펴보세요.
| <inputtype=buttonvalue=C 창에서 쓰기 onclick=parent.mainFrame.htest()> |
이 코드에서 핵심은 "parent.mainFrame"이라는 코드로, 창의 구조적 관계라는 새로운 개념을 도입한 것입니다. 즉, 다중 창 페이지에서는 창 간의 관계가 어떤 원리에 의해 결정되는지를 보여줍니다. 창 관계를 결정하는 원칙은 현재 창에서 분할된 창이 현재 창의 "자식 창"(자식)이고, 현재 창은 분할된 창의 "상위 창"(부모)입니다. 예를 들어, 이 예에서 창 간의 관계는 다음과 같습니다.
위 표에서 알 수 있듯이 "브라우저 창"은 "topFrame"과 "하부 창"의 "부모 창"이고, 아래쪽 창은 "leftFrame"과 "mainFrame 두 창의 "부모 창"입니다. ". 두 창 사이의 연결은 상위 창을 통해 이루어져야 하므로 이 예에서는 C 창의 웹 페이지에서 "htest()"를 호출하려면 분명히 C와 B의 상위 창을 거쳐 메인프레임으로 연결됩니다. 그런 다음 htest( ) 프로그램을 호출하십시오.
따라서 창 C의 텍스트를 창 B에 쓰는 코드가 다음과 같다면: onclick=parent.leftFrame.htest() 그러면 창 A의 텍스트를 창 C에 쓰는 코드를 작성하는 방법을 알고 계십니까? ? 그건 그렇고, 그게 다입니다: onclick=grandchildren.mainFrame.htest().
위의 예에서 알 수 있듯이 창 간 정보 교환에서 가장 중요한 문제는 창 간의 관계를 이해하는 것이며, 기타 작업은 비교적 간단합니다.