페이지가로드되면 브라우저 출력 스트림이 자동으로 닫힙니다. 그런 다음 현재 페이지에서 작동하는 모든 word.write () 메소드가 새 출력 스트림을 열면 현재 페이지의 내용이 지워집니다 (소스 문서의 변수 또는 값 포함). 따라서 현재 페이지를 스크립트에서 생성 한 HTML로 바꾸려면 HTML 컨텐츠를 연결하고 변수에 할당하고 Document.Write () 메소드를 사용하여 쓰기 작업을 완료해야합니다. 문서를 지우고 새 데이터 스트림을 열지 않으면 서 Document.write () 호출은 모든 것을 수행 할 수 있습니다.
Document.write () 메소드에 대해 설명해야 할 또 다른 사항은 관련 메소드 문서 .close ()입니다. 스크립트가 컨텐츠를 창에 쓴 후 (이 창 또는 다른 창에 관계없이) 출력 스트림을 닫아야합니다. 지연 스크립트의 마지막 문서 .write () 메소드 후에 문서 .close () 메소드가 포함되어 있는지 확인해야합니다. 그렇게하지 않으면 이미지와 양식을 표시 할 수 없습니다. 그리고 그 후에 호출 된 모든 vologe.write () 메소드는 기존 컨텐츠를 지우지 않고 새 값을 쓰지 않고 컨텐츠를 페이지에 추가합니다. document.write () 메소드를 보여주기 위해 동일한 응용 프로그램의 두 버전을 제공합니다. 하나는 스크립트가 포함 된 문서에 내용을 작성하고 다른 하나는 별도의 창에 내용을 씁니다. 텍스트 편집기의 각 문서를 클릭하고 .html 파일 확장자와 함께 저장 한 다음 브라우저에서 문서를 엽니 다.
예 1은 새로운 문서 제목에 대한 HTML 태그와 태그의 색상 속성을 포함하여 문서의 새로운 HTML 컨텐츠를 결합한 버튼을 만듭니다. 예에서는 독자에게 익숙하지 않은 연산자 +=가 있습니다. 왼쪽의 변수에 오른쪽에 문자열을 추가합니다. 이 변수는 문자열을 저장하는 데 사용됩니다. 이 연산자는 여러 별도의 진술을 긴 문자열로 쉽게 결합 할 수 있습니다. NewContent 변수에 결합 된 내용을 사용하여 Document.write () 문은 모든 새 컨텐츠를 문서에 작성하여 예제 1에서 내용을 완전히 지우실 수 있습니다. 그런 다음 출력 스트림을 닫으려면 oxep.close () 문을 호출해야합니다. 문서를로드하고 버튼을 클릭 할 때 브라우저의 제목 표시 줄의 문서 제목이 결과적으로 변경되는 것을 알 수 있습니다. 원본 문서로 돌아가 버튼을 다시 클릭하면 두 번째 페이지가 원본 문서를 다시로드하는 것보다 동적으로 더 빠르게로드되는 것을 알 수 있습니다.
예 1 현재 창에서 document.write ()를 사용하십시오.
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w.w.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"><Html xmlns = "http://www.w3.org/1999/xhtml"> <title> 동일한 doc </titch </title vanure = "javascript"> function rewrite () {// 새 창에 대한 조립 var var newcontent = "<html> <head> <title> </head>"new += "" "</head>"</head> "</head>" bgcolor = 'aq newContent += "</body> </html>"// html을 새 윈도우 window window document.write.write (newContent) 문서 () // 레이아웃 스트림} </script> </head> <body> <form> <input type = "value ="content "onclick ="rewrite () "> </html> </html>예 2에서는 스크립트가 스크립트에 의해 생성 된 전체 문서가 작성 될 자식 창을 생성하기 때문에 상황이 약간 복잡합니다. 새 창에 대한 참조를 두 함수 모두에서 활성으로 유지하기 위해 NewWindow 변수를 글로벌 변수로 선언합니다. 페이지가로드되면 OnLoad 이벤트 핸들러는 MakenewWindow () 함수를 호출하여 빈 하위 창을 생성합니다. 또한 Window.open () 메소드의 세 번째 매개 변수에 속성을 추가하여 자식 창의 상태 표시 줄을 보이게합니다.
페이지의 버튼은 subwrite () 메소드를 호출하고 첫 번째 작업은 자식 창의 닫힌 속성을 확인하는 것입니다. 참조 창이 닫히면이 속성 (최신 브라우저 버전으로만 존재 함)은 true를 반환합니다. 이 경우 (사용자가 창을 수동으로 닫는 경우), 함수는 makenewwindow () 함수를 다시 호출하여 창을 다시 열어줍니다.
창이 열리면 새 컨텐츠가 문자열 변수로 결합됩니다. 예 1에서와 같이, 한 번에 내용을 작성한 다음 (별도의 창에 필요하지는 않지만) close () 메소드를 호출하십시오. 그러나 한 가지 중요한 차이점 : write () 및 Close () 메소드는 자식 창을 명확하게 지정합니다.
예제 2 다른 창에서 document.write ()를 사용하십시오
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w.w.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"><Html xmlns = "http://www.w3.org/1999/xhtml"> <title> subwindow에 쓰기 </title> <script language = "javascript"> var newwindow 함수 makenewwindow () {newwindow = winde 누군가가 닫힌 경우 새 창 (newwindow.closed) {makenewwindow ()} // 서브 윈도우를 전면 newWindow.focus ()로 가져옵니다. 새 창에 대한 컨텐츠를 조립합니다. var newContent = "<html> <head> <title> 새로운 문서 </title> </head>"NewContent += "<h1" new. subwindow "onclick ="subwrite () "> </form> </body> </html>