2009-03-23 2 views
4

내가 즉 프레임과 헤드 태그에서 정의 된 일부 자바 스크립트, 이런 식으로 뭔가가있는 문서가있는 경우 : 이미 가정하고프레임, 스크립트 및로드 순서

<html> 
<head> 
    <script> 
    function foo() {} 
    </script> 
</head> 
<frameset> 
    <frame src="A.html"> 
</frameset>  
</html> 

을 그 프레임 (A.html)는 onLoad 이벤트 핸들러를 부모 이벤트 전에 처리합니다. 나는 거의 긍정적이다. 그것은 안전한 가정이다. 그러나 A.html의 스크립트 컨텍스트가 상위 창의 머리글에 정의 된 모든 스크립트 코드에 안전하게 액세스 할 수 있다고 가정하는 것이 안전합니까?

어떤 가정을 할 수 있습니까?

답변

1

this page에 따르면 부모에있는 스크립트에 안전하게 액세스 할 수 있습니다.이 스크립트는 프레임의 부모 프레임 세트 문서를 참조하는 개체입니다.

조금 로컬 테스트에서

, 부모의 onload 이벤트 를 해고하지 않는 것,하지만 모두가 보인다는 스크립트 태그는 자식 프레임이로드 전에 처리 된 것으로.

프레임 셋은 요즘은 눈살을 찌푸림이므로 올바른 접근 방식인지 확인하십시오.

1

프레임 스크립트는 parent 참조를 통해 부모 JS 공간에 액세스 할 수 있습니다. (그러나 두 개의 문서가 동일한 호스트에있는 경우에만 - 해당 문서는 철저하게 정리 된 예제입니다). A.html의이 필 언급 한 바와 같이하지만, 스크립트가 먼저 처리됩니다 후 나는 부모의 에 onLoad 발사에 의존하지 않을

- 인라인 스크립트 평가 블록 조작이되기 때문입니다.