изменение URL-адреса iframe изменяет URL-адрес родительского окна - PullRequest
1 голос
/ 20 декабря 2011

Я использую следующую страницу для отображения содержимого URL-адреса в iframe и изменения его на основе входного значения.

<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>

Моя проблема заключается в просмотре некоторых внутренних страниц URL-адреса, загруженного в iframe изменяет URL родительского окна вместо загрузки в iframe ...

для ex http://www.coolmath.com/ загрузка в iframe, но при просмотре некоторых ссылок загружается вся страница вродительское окно.

Ответы [ 2 ]

2 голосов
/ 20 декабря 2011

Вы можете заметить, что даже что-то подобное <iframe src='http://www.coolmath-games.com/0-fraction-splat/index.html'></iframe> приводит к тому же самому. Эта техника называется уничтожение кадров . Это в коде их страницы:

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

Если у вас есть сервер, который может отвечать заголовком HTTP/1.1 204 No Content, вы можете «деактивировать» этот фреймбастер, как описано здесь .

2 голосов
/ 20 декабря 2011

с www.coolmath.com:

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

означает, что сайт активно избегает создания фрейма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...