JavaScript를 사용하면 HTML 텍스트, 양식 개체 및 프레임을 나타내는 창을 만들고 열 수 있습니다. 창 개체는 JavaScript 클라이언트 계층 구조의 최상위 개체이며 양식 요소와 모든 JavaScript 코드가 문서에 있습니다. 창에 로드됩니다.
창 열기 및 닫기
사용자가 Navigator를 시작하면 창이 자동으로 생성될 수도 있습니다. 파일 메뉴에서 네비게이터 새 웹 브라우저를 사용하면 창을 열 수 있고, 네비게이터의 파일 메뉴에서 닫기 또는 종료를 사용하여 창을 열거나 닫을 수도 있습니다. 🎜>창 열기
open 메소드를 사용하여 창을 만듭니다. 다음 명령문은 msgWindow라는 창을 만들고 창에 sesame.html 파일의 내용을 표시합니다. msgWindow=window .open(" sesame.html")
다음 명령문은 Netscape의 홈 페이지를 표시하기 위해 homeWindow라는 창을 생성할 수 있습니다.
homeWindow=window.open("http://www .netscape .com")
창은 두 개의 이름을 가질 수 있습니다. 다음 명령문은 두 개의 이름을 가진 창을 만듭니다. 첫 번째 이름은 msgWindow이며 창의 속성, 메서드 및 포함 관계를 참조하는 데 사용됩니다. 두 번째 이름인 displayWindow는 창을 양식 제출 또는 하이퍼텍스트 링크 개체로 참조할 때 사용됩니다.
창을 만들 때 창 이름을 지정할 필요는 없습니다. 창 이 창을 참조하려면 이 창에 이름이 있어야 합니다. 창 이름 사용에 대한 자세한 내용은 창 및 프레임 관련 정보를 참조하세요.
창을 열 때 창 속성을 지정할 수 있습니다. 창의 높이와 너비, 도구 모음, 위치 필드 또는 스크롤 막대 등이 포함되어 있는지 여부. 다음 명령문은 도구 모음은 없지만 스크롤 막대는 있는 창을 만듭니다.
msgWindow=window.open
("sesame.html","displayWindow ","toolbar=no,scrollbars=yes")
창 속성에 대한 자세한 내용은 OPEN 메서드를 참조하세요
닫기 window
프로그램에서 close 메소드를 사용하여 창을 닫을 수 있습니다. 전체 상위 창을 닫지 않고 하나의 프레임만 닫을 수는 없습니다.
다음 명령문은 현재 창을 닫을 수 있습니다. 🎜>
window.close()
self.close( )
//이 문은 이벤트 핸들러에서 사용할 수 없습니다.
close()
다음 문은 이름이 지정된 창을 닫습니다. msgWindow:
msgWindow.close()
------------ ---------------- ---------------------------------- -----------
프레임 사용
frame是一种特殊的窗口,它可以在一个窗口显示多个独立滚动的frame.每个frame又有各自不同的URL. 各frame可以指向不同的URL,也可以作为其它URL目标,但必须在同一个窗口内. 一系列的frame 组成页(page).
下图是一个含有三个frame的窗口
This frame is This frame is
named listFrame named contentFrame
| |
-----------------v-----------------------------------v------------
| Music Club | Toshiko Akiyoshi |
| Artists | Interlude |
| Jazz | The Beatles |
| - T. Akiyoshi | Please Please Me |
| _ J. Coltrame | |
| - M. Davis | Betty carter |
| - D. Gordon | Ray Charles and Betty Carter |
| Soul | Jimmy Cliff |
| - B. Carter | The Harder They Come |
| _ R. Charles | |
| ... | ... |
------------------------------------------------------------------
| Alphabetical By category Musician Descriptions |
-----------------^------------------------------------------------
|
This frame is named
navigateFrame
创建一个frame
在HTML文档中使用
Jazz
소울
비틀즈
Please Please Me
베티 카터
Ray Charles와 Betty Carter
...
프레임 생성 구문에 대한 자세한 내용은 프레임 개체를 참조하세요.
------------- ----------- ------------- ---
참조 창 및 프레임
어떤 이름인지 창을 참조하는 데 사용하는 방법은 창 속성, 메소드 및 이벤트 핸들러를 참조할지 여부에 따라 다르지만 여전히 창을 양식 제출 또는 하이퍼텍스트 링크용 개체로 사용하려고 합니다. 개체는 JavaScript 클라이언트 계층의 최상위 수준에 있습니다. 창은 창에 포함된 개체 간의 관계에 대한 설명입니다.
창의 속성, 메서드 및 이벤트 핸들러를 참조하세요
다음 방법 중 하나를 사용하여 현재 창이나 다른 창의 속성, 메서드 및 이벤트 처리기를 참조할 수 있습니다.
self 또는 window: self와 window는 같은 의미를 가지며 둘 다 현재 창을 참조합니다. 현재 창을 참조하기 위해 둘 중 하나를 선택할 수 있습니다. 예를 들어 현재 창을 닫으려면 window.close() 또는 self.close()를 호출하세요.
top 또는 parent: top과 parent 모두 이름을 바꾸는 데 사용됩니다. 창 상단은 상단 네비게이터 창을 참조하고 부모는 프레임세트를 포함하는 창을 참조합니다. 예를 들어 parent.frame2.document.bgColor="teal" 문은 프레임2라는 이름의 프레임 이름을 변경합니다. teal.frame2는 현재 프레임셋의 프레임입니다.
창 변수 이름: 창 변수 이름은 창을 열 때 지정하는 변수입니다. 예를 들어 msgWindow.close는 msgWindow라는 창을 닫습니다. 이벤트를 사용하고 싶습니다. 핸들러에서 창을 열거나 닫으려면 window.open() 또는 window.close()를 사용해야 합니다. JavaScript의 정적 객체 범위 문제로 인해 open() 및 close()는 사용할 수 없습니다. , close는 지정하지 않고 호출됩니다. 객체 이름은 document.close()와 같습니다.
창 이름을 생략합니다. 항상 현재 창을 가정하므로 창의 메서드를 호출하고 해당 속성을 사용할 때 창 이름을 생략할 수 있습니다. 예를 들어 close()는 현재 창을 닫습니다.
창 메서드에 대한 자세한 내용은 창 개체를 참조하세요.
예제 1 현재 창에서 musicform이라는 형식을 참조합니다. 확인란을 선택하면 이 명령문은 경고를 표시합니다
if (self.document.musicForm.checkbox1.checked)
Alert('The checkbox on the misicForm is selected')
예제 2는 다른 창을 참조합니다. 다음 문은 checkboxWin 창에 있는 musicform이라는 양식을 인용합니다. 이 문은 확인란 선택 여부를 결정하고, 확인란을 실행하고, 선택 개체의 옵션이 선택되었는지 확인합니다. , SELECT 개체의 옵션 선택
/ /체크박스 선택 여부 확인
if (checkboxWin.document.musicForm.checkbox2.checked) {
Alert('misicForm의 체크박스 checkboxWin이 선택되어 있습니다.')}
//체크박스 체크 실행
checkboxWin.document.musicForm.checkbox2.checked=true
//선택 개체의 옵션 선택 여부를 확인
if ( checkboxWin .document.musicForm.musicTypes.options[1].selected)
alert('옵션 1이 선택되었습니다!')
//SELECT 개체
checkboxWin.document의 옵션을 선택합니다. musicForm.musicTypes.selectedIndex=1
예제 3은 다른 창에 있는 프레임을 참조합니다. 다음 명령문은 창 window2에 있는 프레임 2를 참조합니다. 이 명령문은 프레임2의 배경색을 보라색으로 변경합니다. 프레임2