window. frames [0]. src 왜 안 돼?

3764 단어 window
최근 프로젝트 를 할 때 문제 가 하나 생 겼 는데, 바로 js 가 프레임 구조의 웹 파일 과 일반적인 웹 텍스트 파일 의 실행 순서 차이 이다
demo1:normal
<html>
<head>
<script>.......</script>
</head>
<body>........</body>
</html>

demo2: frameset

<html>
<head>
<script>.......</script>
</head>
<frameset>
    <frame>........</frame>
    <frame>........</frame>
</frameset>
</html>

일반 파일 (demo 1): 코드 의 선착순 으로 실행 되 기 때문에 js 를 먼저 불 러 오고 dom 파일 을 불 러 옵 니 다.따라서 js 에서 dom 의 노드 요 소 를 얻 으 려 면 dom 에서 로드 가 완료 되 어야 합 니 다. 그렇지 않 으 면 null 입 니 다.
프레임 구조 (demo 2): 웹 페이지 파일 을 불 러 오고 js 를 불 러 옵 니 다.
window. frames [0]. src 왜 안 돼?
최근 많은 친구 들 이 프레임 워 크 에 대해 묻 는 질문 은 DOM 프레임 워 크 의 원 리 를 모 르 기 때 문 입 니 다. 여기 서 제 가 알 고 있 는 것 과 같이 대답 합 니 다. DOM 문서 대상 모델 에서 window 대상 은 가장 높 은 층 에 있 고 프레임 워 크 는 현재 창의 한 노드 를 제외 하고 본 체 는 독립 된 window 대상 입 니 다. frames 가 window 대상 일 때 name 속성 이 있 습 니 다.src 속성 이 없고 노드 일 때 만 src 속성 이 있 습 니 다. 즉, window. frames [0] 라 는 문법 은 하나의 window 대상 을 대표 하기 때문에 window. frames [0]. src 는 당연히 undefined 입 니 다. 이것 도 많은 사람들 이 헷 갈 리 기 쉬 운 이유 입 니 다!
src 속성 을 얻 으 려 면 다음 과 같이 쓸 수 있 습 니 다: document. getElement ById (frame id). src / / 노드 대상
 

좋은 웹페이지 즐겨찾기