Modificações no url

Ricardo Vitorino edited this page Jan 30, 2014 · 1 revision

À medida que o utilizador percorre a sua aplicação, isto é, clica em links que o encaminham para novas páginas, o URL do portal é actualizado em conformidade. A figura abaixo pretende exemplificar esse mesmo mecanismo, denominado pushState e faz parte da especificação do HTML5.

url_change

Em aplicações recentes é frequente utilizar-se o mecanismo de pushState ou as âncoras (#) em várias actividades. Assim, não é feito um pedido ao servidor da aplicação e o contentor não identifica uma mudança de URL. Para suportar este tipo de modificação dinâmica, o contentor:

  • Escuta eventos do tipo onhashchange, os quais são despoletados cada vez que a componente hash de um URL (a âncora) é modificada.

  • Reimplementa o método pushState, se este for suportado pelo browser, de maneira a fazer trigger dum evento, ao qual se deu a referência onpushstate. Tal é necessário por não existir de momento nenhum evento que seja despoletado quando o URL é modificado desta forma.

Sendo este caso de uso (a alteração dinâmica do URL através de pushState ou alteração da âncora) menos comum, se pretende activar este comportamento deve fazê-lo de forma manual através do seguinte código JavaScript:

// Get the Container singleton and bind the new event handlers
Container.get().enable("onpushstate");
Container.get().enable("onhashchange");   
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.