2012-01-31 3 views
2

비동기 스크립트 로더 (head.js, yepnope 등)를 사용하여 특정 미묘한 문제를 해결하려고합니다. 내가 yepnope가 자신의 태그 위에 내 두 개의 스크립트의 <script> 태그를 주입 한 것을 알 나는 방화범이 페이지에 대한 결과 HTML을 검사 할 때스크립트 로더가 삽입 된 스크립트로 전역 변수에 액세스

<body> 
    <script type="text/javascript" scr="yepnope.js"></script> 
    <script type="text/javascript"> 
     var important_stuff = { "key" : "value", "another key" : "value"}; 
     yepnope([ 
      { load: "some/script.js" }, 
      { load: "another/script.js" } 
     ]); 
    </script> 
</body> 

: 나는 페이지 설정과 같이 있습니다. 내 질문은 : yepnope 함께로드 된 두 스크립트는 important_stuff 전역 변수에 액세스 할 수 있습니다 비록 그들이 어디에 정의 된 위에 주입됩니다? 감사.

답변

2

모든 글로벌 변수는 전역 변수입니다. 일단로드되고 정의되면, 그 시점에 존재하는 모든 것 또는 나중에로드되는 모든 것에 사용할 수 있습니다. 따라서 스크립트 태그가 삽입되는 위치가 아닌로드 순서 만 중요합니다.

동적으로로드 된 두 개의 스크립트가 전역 정의 후에 순차적으로로드되면 스크립트 태그의 순서에 관계없이 전역에 액세스 할 수 있습니다.

+0

신속하고 유익한 답변을 보내 주셔서 감사합니다. 감사합니다. –