2011-01-19 17 views
32

Abbiamo capito che l'hash è per le ricerche AJAX, ma il punto esclamativo? Qualcuno sa?Perché Twitter utilizza un hash e un punto esclamativo negli URL e come riscrivono gli URL di ricerca?

Inoltre, l'attributo "azione" per il modulo di ricerca punta a "/ cerca", ma quando si esegue una ricerca, il punto esclamativo di hash compare nell'URL. Stanno semplicemente reindirizzando da "/ search" a "/ #!/Search"?

Nota: la seconda parte del q rimane senza risposta: Cioè, stanno reindirizzando l'utente da "/ ricerca" a "!/#/Search", o mandano l'utente a "/ ricerca" e usa JS sulla pagina per riscrivere l'URL? - Crashalot 26 gennaio alle 23:51

Grazie!

+0

possibile duplicato di [Che cos'è lo shebang/hashbang (#!) In Facebook e i nuovi URL di Twitter per?] (Http://stackoverflow.com/questions/3009380/whats-the-shebang-hashbang-in-facebook- e-new-twitter-urls-for) - almeno la prima parte comunque – BoltClock

risposta

9

Per rispondere alla seconda parte, quindi: Si sta reindirizzando a/#!/Search.

Se si guardano le intestazioni di risposta quando si va a http://twitter.com/britishdev (plug spina) si ritorna a (reindirizzamento temporaneo) 302 con l'intestazione Location impostato come "Località: http://twitter.com/#!/britishdev" viene poi tirando

Sì JavaScript tutta la vostra dettaglio nella pagina di destinazione ma indipendentemente da dove si è reindirizzati.

+10

Per quale maledetto inferno sono stato votato ?! – BritishDeveloper

+1

per la spina spina –

+2

ha ha. ah ami il senso dell'umorismo! – BritishDeveloper

30

È diventato lo standard di fatto che Google ha stabilito per garantire la coerenza e rendere gli URL ajax scorrevoli.

Vedi http://code.google.com/web/ajaxcrawling/docs/getting-started.html

Credo che stanno utilizzando history.pushState. Puoi fare history.back() nella console e ti ricondurrà alla pagina.

+1

In realtà, ho realizzato che la seconda parte della domanda rimane senza risposta. Cioè, stanno reindirizzando l'utente da "/ search" a "/ #!/Search", o inviano l'utente a "/ search" e usano JS nella pagina per riscrivere l'URL? – Crashalot

23

Sì, reindirizza con HTTP 302.

A proposito, "!" è usato per eliminare il caso con un hash vuoto. "http: // url #" farà scorrere un browser verso l'alto.

+1

E anche per questo http://code.google.com/web/ajaxcrawling/docs/getting-started.html – Ergec

Problemi correlati