Histórico

O Internet Explorer 10 introduz suporte à interface Histórico da especificação HTML5 preliminar, que inclui métodos que permitem gerenciar a URL e a pilha de histórico de um site. Esse controle dá aos usuários finais a experiência que eles esperam dos botões Voltar e Avançar e o desempenho de atualizações de páginas pequenas sem navegação ou carregamentos de página. O histórico do HTML5 é definido na Seção 5.4.2 da especificação HTML5 do W3C (World Wide Web Consortium).

Os métodos history.pushState() e history.replaceState()

Usando o método history.pushState(), você pode criar uma nova entrada de histórico e, opcionalmente, incluir um objeto de estado. Com o método history.replaceState(), você pode modificar o item atual do histórico. Segue a sintaxe desses dois métodos.


history.pushState(data, title, url); 
history.replaceState(data, title, url); 


ParâmetroDescrição

data

Um objeto de estado que você quer associado com a nova entrada de histórico. Isso foi retornado como a propriedade state do evento onpopstate.

title

Isso é atualmente ignorado pelo Internet Explorer 10.

url

(Opcional) Uma URL relativa ou absoluta no mesmo domínio ou origem da URL atual.

 

Usando esses novos métodos HTML5, você pode modificar o caminho no site da Web, mas por causa da segurança, não do domínio ou da URL atual. Você também pode modificar o fragmento da URL que fica após o sinal de cerquilha (também conhecido como hash) ou o segmento de consulta que fica após o ponto de interrogação (?) da URL. Por exemplo, usando a URL "http://go.microsoft.com/fwlink/p/?LinkId=214816", você pode modificar qualquer coisa à direita de ".com". Você pode mudar para "http://go.microsoft.com/fwlink/p/?LinkID=58649", mas não pode alterar o domínio (go.microsoft.com), a porta, nem o esquema (http://). A tabela a seguir mostra algumas outras atualizações para essa URL e se elas são permitidas ou não:

Alteração de URLStatus
go.microsoft.com/foopermitido
http://go.microsoft.com/foopermitido
/foopermitido
Foo?querypermitido
/foo#somedatapermitido
www.microsoft.comerro
http://go.microsoft.com:9090/fooerro

 

O evento window.onpopstate

O manipulador de eventos window.onpopstate notifica seu aplicativo quando o usuário navega entre duas entradas de viagem no histórico, sendo que pelo menos uma foi criada com history.pushState() ou history.replaceState(). Isso ocorre por meio de interação da IU, como clicar no botão Voltar ou Avançar, clicar em Voltar em um menu de contexto ou pressionar a tecla Backspace. Isso também ocorre pressionando Alt+Seta para a Esquerda, Alt+Seta para a Direita ou a tecla Backspace, ou chamando history.back, history.forward ou history.go.

O parâmetro do evento popstate contém o objeto de estado (definido pelo parâmetro de dados) do método pushState ou replaceState. A propriedade history.state também contém o objeto de estado. Quando uma página for inicialmente carregada, o estado será nulo. Chamando pushState, a pilha de encaminhamento será limpa, mas chamando replaceState, ela não será limpa.

Referência de API

PopStateEvent
pushState

Demonstrações do Test Drive do Internet Explorer

Exemplo de histórico do HTML5: desfazer

Postagens no blog do IE

Histórico do HTML5 no IE10

Especificação

HTML5: Seção 5.5.2

 

 

Mostrar:
© 2015 Microsoft