Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #6
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228
    Ciao, ignora la mia risposta precedente che è la risposta giusta alla domanda sbagliata!
    Dunque, no non devi separare nulla...

    all'interno della tua function, per ogni "pseudo-link", devi richiamarti una funzione esterna simile a questa
    [CODE]
    function historyChangeUrl(id_link){//devi passargli qualcosa per sapere quale elemento è stato cliccato - va bene anche il link
    if(history.pushState){//controlli che il browser possa gestire gli url, cerca in rete (è un pochino diversa)
    var link;
    switch id_link//ti ricavi il nuovo link
    case ... case... case...//in base ai vari casi
    history.pushState('','',link)//QUESTA è LA FUNZIONE CHE MODIFICA IL LINK NELLA BARRA URL
    }

    fatto questo di devi preoccupare di altre 2 cose:

    se l'utente scrive www.tuosito.it/nuovourl.html
    devi fare in modo di fare un redirect 404 (che conservi le variabili, è macchinoso ma su server linux si può fare, non so su windows) verso la pagina reale, e con il js leggere l'url e se corrisponde a una pagina del tuo sito ('fittizzia') allora fai partire le animazioni.

    poi, visto che quando scrivi gli url con questo metodo la pressione dei pulsanti avanti e indietro del browser non funziona (anche se l'url cambia nella pagina non cambia nulla e non viene modificata) devi intercettare l'evento in cui l'url cambi in automatico, puoi usare window.onpopstate per farlo (tenendo conto che su safari tale evento viene rilevato anche durante la normale navigazione tra i link, è più facile da capire durante il debug)

    EDIT
    L'istruzione corretta per controllare se la history api è attiva sul browser è questa
    if (window.history && history.pushState)
    Ultima modifica di SimoX90; 05-06-2014 a 22:17

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.