2014-09-05 3 views
1

하지 않고 결과를 얻으려면 어떻게 그들이 iframe에 변화에 따라 성공적으로 URL을 추적 코드가 있습니다 onclick v 아니오 onclick; 클릭

<html> 
<body> 
<iframe src="start.php"></iframe> 
<a href="#" onclick="alert(frames[0].location);">Get Link.</a> 
</body> 
</html> 

이 그것을 클릭 '링크를 가져가'올바른 링크를 보여줍니다. 사용자가 iframe 내부를 다른 서버 (동일한 서버에 있음)로 이동하고 '링크 가져 오기'를 다시 클릭하면 현재 iframe URL이 표시됩니다.

하지만 '클릭'할 필요없이 iframe URL을 가져와야합니다.

내가이 작업을 수행 할 때 :

<html> 
<body> 
<iframe src="start.php"></iframe> 
<script>alert(frames[0].location)</script> 
</body> 
</html> 

경고 메시지 "에 대한 : 빈"라고 나는 변수에 전달 된 '프레임 [0] .location'를 사용하여 iframe이 위치를 얻을 수있는 방법

그 onclick 함수를 사용하지 않고 상위 페이지에서 읽을 수 있습니까?

+0

가능한 복제본 : http://stackoverflow.com/questions/938180/get-current-url-from-iframe –

+0

클릭하지 않았다면 가져 오시겠습니까? URL에 주기적으로 경고한다는 의미입니까? – LcSalazar

+0

안녕하세요 Radu, 그 코드를 시도하고 내가 "about : blank"... LcSalazar, 내가 원하는 것은 URL을 PHP 변수로 읽는 것이다. $ url = iframe_url; 그런 다음 페이지의 다른 부분에서 iframe URL을 조회하는 다양한 이미지가 표시되도록 설정합니다. 가장 가까운 위치는 위에 있습니다. 그것은 올바른 링크 이름을 얻지 만, 그다지 좋지 않습니다. 결과를 변수로 읽어 들여서 조건부 이벤트를 기반으로 할 수 있습니다. 답변을 주셔서 감사합니다. – user3697638

답변

0

alert(frames[0].contentWindow.location.href); 
0

당신은 당신이 그것을 필요로하는 코드에서 직접 frames[0].location를 사용하십시오. 또는 함수 안에 포장하십시오. iframe이 아직로드되지 않았기 때문에 <script> 태그에 직접 표시되지 않습니다. 코드에서 frames[0].location을 쿼리 할 때마다 정확한 시간에 iframe의 위치 객체를 제공해야합니다.

+0

"코드에서 프레임 [0] .location을 쿼리 할 때마다 위치 그 정확한 시간에 iframe의 객체 "... 그래서 어떻게할까요? 프레임 [여기 프레임의 이름]. 위치? 응답을 주셔서 감사합니다. – user3697638

+0

질문을 이해할 수 있는지 잘 모르겠습니다. 어떻게할까요? 이 '위치'를 사용하고 계신가요? 어딘가에 뭔가 있어야할까요? iframe의 위치를 ​​사용할 때마다 프레임 [0] .location을 호출하면됩니다. 예를 들어, iframe은 아직로드되지 않았으므로 가치가 없습니다. 프레임을 전달해야하는 iframe 위치의 값을 전달하려는 시점을 말하십시오. [위치] – jonasnas

+0

다른 이유로 타이밍. 스크립트가 즉시 실행되고 iframe이 아직로드되지 않고 클릭 이벤트입니다. 마우스를 가리키고 그 시간에 iframe이로드 될 때까지 약간의 시간이 걸립니다. – jonasnas