Frames: 특별한 Window 형식

많은 초보 자 들 이 처리 하고 있다. frame 가끔 이런 저런 오류 가 발생 합 니 다. 사실은 frame. 특수 한 창 유형 으로 그들 간 의 관 계 를 이해 하기 만 하면 쉽게 통제 할 수 있다. JavaScript 2.0-The Complete Reference 한 책의 영문 제2판 frame 직 결 된 장절) frame ,초보 자 에 대한 이 해 를 믿다 frame 큰 도움 이 될 겁 니 다.맞다. window 화해시키다 frame 관계 의 잘못된 이 해 는 웹 개발 자 들 에 게 보편적으로 존재 하 는 문제 입 니 다. (x) html 화해시키다 Javascript 모든 창 에 표 시 된 것 을 보 세 요. frame 모두 쉽게 통제 할 수 있다. window 여러 개 있다 frame , 통과 가능 window.frames[] 모든 독립 된 창 목표 에 대한 인용 을 실현 합 니 다. 간단 하면 서도 유용 한 속성 은 다음 표 에서 열거 합 니 다.
윈도우 속성 설명
frames[]
현재 창 에 있 는 모든 frame 대상 의 배열 을 저장 합 니 다.
length
창 frame 의 수 는 window. frames. length 와 같 습 니 다.
name
현재 창의 이름 은 JavaScript 1.1 부터 입 니 다. 이 값 은 읽 고 쓸 수 있 습 니 다.
parent
부모 창 참조.
self
창 자체 참조.
top
프레임 에 더 많은 프레임 이 있 는 경 우 를 제외 하고 최고 단계 창 에 대한 참조 입 니 다.
window
현재 창 에 대한 다른 참조
쓰다 Javascript 컨트롤 frame 가장 중요 한 것 은 각자 의 이름과 그들 사이 의 관 계 를 분명히 하 는 것 이다. 만약 당신 이 이름 이 있다 면. frames.html 의 페이지, 페이지 코드 는 다음 과 같 습 니 다: HTML:

  
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <title>FrameSet Test </title>
  7. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
  8. </head>
  9. <frameset rows="33%,*,33%">
  10. <frame src="framerelationship.html" name="frame1" id="frame1" />
  11. <frame src="moreframes.html" name="frame2" id="frame2" />
  12. <frame src="framerelationship.html" name="frame5" id="frame5" />
  13. </frameset>
  14. </html>
  15.  

이런 상황 에서 현재 문서 주 체 는 세 개 로 볼 수 있다. frame (frame1,frame2, and frame5) 의 parent ,너 는 아래 의 방식 으로 얻 을 수 있다. frame 숫자: 코드:
window.frames.length
하면, 만약, 만약... frame 중간 실행 코드 는 아래 방법 을 사용 할 수 있 습 니 다. :Code:
window.parent.frames.length
혹은 코드:
parent.frames.length
parent 창 을 표시 하 는 부모 창 도 사용 할 수 있 습 니 다. top 최고 등급 의 창 을 표시 합 니 다. 이렇게 쓸 수 있 습 니 다. top.frames.length ,그러나 주의해 야 할 것 은 네가 끼 워 넣 지 않 는 한 frame ,그렇지 않 으 면 parent 화해시키다 top 일반적으로 한 대상 을 나타 낸다.하나 방문 하기 frame ,쓸 수 있다 name 또는 아래 표 시 된 방식 으로 조회 합 니 다. frames 배열, parent. frames [0]. name 첫 번 째 출력 됩 니 다. frame 이름 frame 1, 마찬가지 로 우리 도 사용 할 수 있다. parent.frame1 혹은  parent.frames["frame1"] 같은 조작 을 실현 하 다 frame 하나 window, 이것 만 알 면 모든 Window 를 사용 할 수 있 습 니 다. 화해시키다 Document 방법이해 하 다 frame 사이 의 관 계 는 쉽게 통과 할 수 있다. parent.frames[] 어떠한 조작 도 frame ,간단 한 프레임 페이지 가 있다 면: HTML:

  
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <title>Two Frames </title>
  7. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
  8. </head>
  9. <frameset cols="300,*">
  10. <frame src="navigation.html" name="frame1" id="frame1" />
  11. <frame src="content.html" name="frame2" id="frame2" />
  12. </frameset>
  13. </html>
  14.  

... 에 있다 navigation 창 안 에는 아래 방식 으로 쌍 을 설정 할 수 있 습 니 다. content 창 참조 변수: Code:
var contentFrame = parent.frames[1]; // 또는 이름 사용
iframe 주의해 야 할 것 입 니 다. frame 변종, iframe 을 사용 하면 프레임 워 크 를 사용 하지 않 을 수 있 지만 페이지 에 삽입 할 수 있 습 니 다. 문 제 는 우리 가 이 를 어떻게 제어 하 느 냐 하 는 것 입 니 다. iframe ?사실 우리 도 쓸 수 있어 요. frames[] 하면, 만약, 만약... iframe 이름 이 있 으 면 통과 할 수 있 습 니 다. getElementById 다음 과 같이 조작 합 니 다: HTML:

  
  1.  
  2. <iframe src="http://www.google.com" name="iframe1" id="iframe1" height="200" width="200"> </iframe>
  3. <form action="#" method="get">
  4. <input type="button" value="Load by Frames Array"
  5. onclick= "frames['iframe1'].location='http://www.javascriptref.com';" / >
  6. <input type="button" value="Load by DOM"
  7. onclick= "document.getElementById('iframe1').src='http://www.pint.com';" / >
  8. </form>
  9.  

링크 탭 에 추가 할 수 있 습 니 다. target 조작 을 목표 에 게 가리키다 frame :Code:
Google

좋은 웹페이지 즐겨찾기