Как автоматически удалить фрейм HTML-страницы? - PullRequest
1 голос
/ 15 октября 2008

Каков наилучший способ автоматического удаления рамки страницы?

Я использовал этот тип кода раньше:

<script language="JavaScript">
setTimeout ("changePage()", 3000);
function changePage() {
if (self.parent.frames.length != 0)
self.parent.location="http://www.example.com";
}
</script>

Ответы [ 3 ]

6 голосов
/ 15 октября 2008

Вы имеете в виду, если кто-то поместил рамку вокруг вашего контента? Если это так, вам понадобится следующее место в вашей HTML-странице, чтобы выскочить из iframe:

<script type="text/javascript">
if (window.top.location != window.location) {
  window.top.location = window.location;
}
</script>
1 голос
/ 15 октября 2008

Вот альтернатива, которая является более общей в том смысле, что она не называет родительский URL и не использует отдельный вызов функции:

// is the current page at the top of the browser window hierarchy?
if (top.location != self.location)  
{
    // it isn't, so force this page to be at 
    // the top of the hierarchy, in its own window
    top.location = self.location    
}
0 голосов
/ 15 октября 2008

Сделайте это так, если вы хотите, чтобы шаг разрыва фрейма не появлялся в истории

if ( self.location !== top.location )
{
    top.location.replace( self.location );
}
...