2011-12-20 6 views
1

iframe에 url 내용을 표시하고 입력 값에 따라 변경하려면 다음 페이지를 사용하고 있습니다.iframe url 변경 부모 창 url 변경

<html> 
<head> 
<script type="text/javascript"> 
function changeUrl() 
{ 
var url=document.getElementById('browseurl').value; 
if(url!="") 
{ 
    if(url.indexOf("http")==-1) 
    { 
    url="http://"+url; 
    } 
    document.getElementById('browserWnd').src=url; 
} 
} 
</script> 
</head> 

<body> 
<div > 
    <span>Url</span> 
    <input id="browseurl" name="browseurl" type='textbox' /> 
    <input id="browse" type='button' value="changeurl" onclick="changeUrl()" /> 
</div> 

<iframe id="browserWnd" src="http://www.coolmath.com/" height="700" width="625"></iframe> 
</div> 
</body> 
</html> 

내 문제는 전 HTTP에 대한 ... iframe에

을 부모 창 URL 대신로드를 iframe을 에 넣은 URL의 일부 내부 페이지를 변경 브라우징 : // WWW. coolmath.com/ iframe에서로드하지만 일부 링크를 탐색하는 동안 상위 창에서 전체 페이지가로드됩니다. activly 누명 기약 사이트를 의미

if (window.self != window.top) ... 

: www.coolmath.com에서

답변

2

.

+0

그러나 다음은 자기 또는 상단이없는 경우에도 동일합니다. http://www.woodlands-junior.kent.sch.uk/maths/ – ArK

+1

@Paniyar 당신이 제공 한 링크는'자기'와'최상위'를 가지고 있습니다. 코드는 다음과 같습니다. ' –

2

이런 <iframe src='http://www.coolmath-games.com/0-fraction-splat/index.html'></iframe> 같은 결과조차도 같은 결과가 나타날 수 있습니다. 이것은 frame-busting이라는 기술입니다. 그것은 그들의 페이지의 코드에서 : 당신이 HTTP/1.1 204 No Content 헤더로 응답 할 수있는 서버가있는 경우

<script> 
<!-- Hide Script 
if (top.location != self.location) { 
    top.location = self.location 
} 
//End Hide Script--> 
</script> 

, 당신은 here 설명 된대로이 프레임 버스터를 "해제"할 수 있습니다.

+0

내가 얼마나 오랫동안 이것을 찾고 있었는지 말할 수 없다. 또 다른 검사는 if (top! = self)'일 수도 있습니다. 나는 내 'iframe'에서 페이지를 튕겨 내고 있지만, 그 원인을 알지 못하는 오래된 코드를보고있었습니다. 고맙습니다. – CaptainBli