Как мне автоматически удалить фрейм HTML-страницы?

StackOverflow https://stackoverflow.com/questions/205001

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

<script language="JavaScript">
setTimeout ("changePage()", 3000);
function changePage() {
if (self.parent.frames.length != 0)
self.parent.location="http://www.example.com";
}
</script>
Это было полезно?

Решение

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

<script type="text/javascript">
if (window.top.location != window.location) {
  window.top.location = window.location;
}
</script>

Другие советы

Вот альтернатива, которая является более общей в том смысле, что она не называет родительский 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    
}

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

if ( self.location !== top.location )
{
    top.location.replace( self.location );
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top