2013-01-09 4 views
2

을 이해하고 싶습니다.이 스크립트 코드 (아래)를 head 태그 사이에 넣으면 페이지가 iframe에서로드되지 않습니다.iframe 구분 코드

올바른 경우이 코드에서 내 맞춤 URL 또는 이와 유사한 것으로 바꿔야 할 사항이 있습니까 (예 : top.locationtop.myurl이어야합니다)?

또는 그대로두고 페이지의 머리에 붙여 넣으시겠습니까? 나는 이것이 어떻게 작동하는지 이해하려고 노력하고있다.

if (top.location!= self.location) { 
    top.location = self.location.href 
} 
+0

도움이 되었습니까? (http://stackoverflow.com/a/14244217/16959) 도움이 되었습니까? –

+0

네, 고마워요. – AaronH

+0

정답을 표시하여 "수용 등급"을 향상시켜야합니다. –

답변

0

이 코드는 iframe 내부에서 참조되는 HTML에 삽입하면 작동합니다. 작동 방식은 top (요청한 페이지는 iframe)이고 self 페이지는 iframe입니다. 다른 경우에는 iframe의 URL과 일치하도록 top.location을 변경합니다. 여기

은 iframe 내에 같은 페이지를 요청하지만, 당신이 (iframe에 없습니다) 그 자체로 InnerPage.html를 요청할 경우 top === self true로 평가합니다이

|----[OuterPage.html]------| 
|       | 
| |--[InnerPage.html]-| | 
| |     | | 
| | top !== self  | | 
| |     | | 
| |-------------------| | 
|       | 
| top === self    | 
|       | 
|--------------------------| 

을 이해하는 데 도움이되는 몇 가지 ASCII입니다 동일한 조건은 false로 평가됩니다.