2011-03-11 5 views
6

iframe의 페이지가 iframe에 있는지 여부를 알 수있는 많은 속성을 시도했습니다. 시도 :페이지가 Google 크롬 용 Iframe에 있는지 확인합니다.

if(top.location!= self.location) //doesn't work in Google Chrome 
    alert("I am in an iframe!") 

그리고 이것은 작동하지 않습니다 (Chrome 이외의 모든 브라우저에서 작동 함). Firefox 및 Chrome 용 사용자 스크립트를 작성 중이지만 Chrome은 실제로 작동하지 않습니다. Chrome이 해당 페이지가 iframe에 있는지 감지 할 수 있는지 알려주는 방법이 있습니까? 이 프레임 작동

+0

는 http://jsfiddle.net/hpVec/은 크롬에서 잘 동작하는 것. –

+0

var in_iframe = (window.location! = window.parent.location); –

답변

15

내가 가정 것 또한 iFrame을

if (top === self) { 
    // no frame 
} else { 
    //frame 
} 
+0

이것은 놀랍습니다 (작동합니다)! 감사합니다 – user654628

+0

참고 : 이것은 ie8에서 작동하지 않습니다. – iturgeon

0

window.frameElement 심지어 가장 오래된 브라우저에서 지원되어 작동합니다. 현재 윈도우가 포함 된 iframe, embed 또는 object를 식별합니다.

if(!!window.frameElement){ 
    //code to be executed if we are in an iframe 
} 

More here.

관련 문제