2009-06-02 4 views
65

iframe에서 현재 URL을 가져 오는 간단한 방법이 있습니까?IFRAME에서 현재 URL 가져 오기

뷰어는 여러 사이트를 통과합니다. 저는 자바 스크립트에서 뭔가를 사용하고있을 것이라고 추측합니다.

+1

iframe의 "상위"페이지 URL을 찾고 계신 분은 http://stackoverflow.com/q/3420004/32453을 참조하십시오. – rogerdpack

답변

109

보안상의 이유로 iframe의 내용과 참조하는 javascript가 동일한 도메인에서 제공되는 경우에만 URL을 얻을 수 있습니다. 만큼 그것이 사실,이 같은 작동합니다 : 두 도메인이 일치하지 않는 경우, 당신은 크로스 사이트 참조 스크립트 보안 제한으로 실행하겠습니다

document.getElementById("iframe_id").contentWindow.location.href 

.

도 참조하십시오. answers to a similar question. 여기 당신이했습니다 -

var currentUrl = document.referrer; 

과 : 당신의 iframe이 다른 도메인 (크로스 도메인)에서의 경우

+0

이기는 답의 해결책이 작동하는지 알고 계십니까? 내 컴퓨터 (IE, windows)에서 작동시키지 못했습니다. – chris

+0

비슷한 질문에 나열한 링크에 대해 이야기하고있었습니다. – chris

+0

내가 링크 된 질문에 승리하는 대답이 없습니다. 최상위 응답을 의미하는 경우 실제로는 작동하는 솔루션이 아닙니다. IE를 사용하면 위에서 언급 한 질문에 대한 답변에서 제공된 HTA 접근 방식을 시도 할 수 있습니다. – kkyy

16

는 다른 답변은 간단하게이를 사용해야합니다 ... 당신을 도울하지 않을 수 있습니다 주요 URL을 얻었다!

+14

-1 OP가 부모 페이지의 리퍼러가 아닌 iframe의 현재 URL을 찾고 있습니다. – Christophe

+10

@Christophe - 알아,하지만 주요 URL을 찾는 사람들을 도울 수 있고이 질문에 왔습니다! – ParPar

+4

gr8 .. 이것은 내게 가장 큰 (2 개의 중첩 된 iframe을 시도해보십시오),하지만 한 레벨 정도만 생각하면 너무 가짜이기 때문에 – Vikky

3

호프가 도움이 될 것입니다. 정확히 동일한 문제가 발생하여 부모 창과 iframe간에 데이터를 공유하기 위해 localstorage를 사용했습니다. 그래서 당신이 할 수있는 부모 창에 :

localStorage.setItem("url", myUrl); 

및 iframe 소스 그냥 로컬 스토리지에서이 데이터를 얻을 수있다 코드

:

localStorage.getItem('url'); 

나에게 많은 시간을 저장합니다. 내가 아는 한 유일한 조건은 상위 페이지 코드에 대한 액세스입니다. 희망이 있으면 도움이 될 것입니다.