Utilizzo degli URL di Hash Bang. Migliori pratiche? Le migliori biblioteche? Insidie importanti?

2

Quindi sto per creare un nuovo sito e mi piacerebbe farlo creando un'applicazione web che analizza / #! / url's e richiede il contenuto di conseguenza tramite chiamate AJAX a un'API JSON già inserita insieme.

Le mie domande sono ...

  1. Quali sono le migliori pratiche riguardanti #! URL
  2. Esistono buone librerie JavaScript create per gestire il routing e la cronologia? o dovrei lanciare il mio?
  3. Quali sono le insidie di cui dovrei essere a conoscenza?

Per favore no "/ #! / url's sta rompendo internet!" commenti, ho letto articolo di Mike Davies e questo uno e questo altro .

Voglio sentire le persone che hanno già implementato questo tipo di struttura di un URL e possono parlarmi delle loro esperienze.

    
posta Greg Guida 30.06.2011 - 19:28
fonte

2 risposte

1

Anche se penso che il routing basato su pushState sia, nella maggior parte dei casi, una soluzione preferibile, capisco che a volte l'instradamento basato su hash è più adatto.

Come altri hanno suggerito, puoi usare davis.js , che supporta il routing basato su pushState per impostazione predefinita, ma può funzionare altrettanto bene con il routing basato su hash se ne hai bisogno, consulta il codice qui .

    
risposta data 24.07.2011 - 12:18
fonte
0

Non sono sicuro che ciò possa essere d'aiuto, ma ho lavorato su una pagina dinamica usando l'hash dell'URL per controllare il contenuto della pagina. Il modo sporco che ho trovato per fare questo era impostare l'hash, per ogni nuova pagina, e interrogare l'url per eventuali modifiche di hash. Ad esempio: estraggo un numero dall'hash e lo confronta con il numero di pagina corrente, se diverso cambia la pagina. se location.hash = # page1 quando la pagina effettiva è 2 la pagina cambierà in 1 e l'hash rimane in # page1.

Un trucco importante è avere effettivamente i tag hash nel sito Web html. I miei sono tutti in un div nella parte superiore della pagina. un nome = 'pagina1' Questo è necessario per conservare la cronologia.

Ciò consente di aggiungere segnalibri, aggiornamenti e simili ma non consente l'indicizzazione dei motori di ricerca. Ho un metodo piuttosto complesso che non coinvolge pagine di script che possono essere indicizzate e sono la fonte dei dati dinamici, per ottenere ciò.

Finché è fatto correttamente, può funzionare. Anche il supporto del motore di ricerca è in arrivo.

    
risposta data 20.07.2011 - 04:00
fonte

Leggi altre domande sui tag