Pergunta

Qual é a melhor maneira de remover um quadro de página automaticamente?

Eu usei este tipo de código antes:

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

Solução

Você quer dizer se alguém colocar uma moldura em torno de seu conteúdo? Se assim for, você precisa do seguinte em qualquer lugar na sua página HTML para saltar para fora do iframe:

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

Outras dicas

Aqui está uma alternativa que é mais genérico em que ele não nomear o URL pai, nem usar a chamada de função separada:

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

Fazê-lo desta forma, se você quiser que o passo de quebra de quadro para não aparecer na história

if ( self.location !== top.location )
{
    top.location.replace( self.location );
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top