2011-02-25 14 views
6

sono imbattuto in alcune battute su Twitter quanto sia terribile da usarecosa c'è di sbagliato con l'uso di 'javascript: history.go (-1)'?

javascript:history.go(-1) 

ovviamente senza alcun suggerimento sul perché.

Se è così terribile, perché? Qual è l'alternativa? (oltre a history.back(), che sembra fare esattamente la stessa cosa). È una questione di compatibilità tra browser?

Ad esempio, l'ho visto utilizzato su una pagina di errore per consentire agli utenti di provare a "tornare indietro" utilizzando quanto sopra.

Ho provato google, ma senza risultato, per quanto riguarda il motivo per cui sarebbe così orribile da usare. Eventuali puntatori/spiegazioni sarebbero apprezzati.

Grazie.

+0

La pagina non ricarica la cronologia indietro che ho trovato problematico su alcune pagine –

risposta

5

Potrebbero essersi riferiti all'uso dello pseudo protocollo javascript:, che in genere significa che si tratta di un attributo di ancoraggio href, che è brutto. Non è un vero collegamento e, con JavaScript disabilitato, non farà nulla pur sembrando un collegamento funzionale. Penso che l'unico uso valido per questo protocollo sia per bookmarklets.

Inoltre, come Russell Dias points out, fa esattamente lo stesso del pulsante Indietro, quindi qual è il punto di averlo? Dovremmo avere anche un pulsante di ricarica che chiama window.location.reload()?

+0

buon punto su essenzialmente ridondanza inutile – andryuha

+0

Interessante. Un esempio dove richiesto: l'utente nella pagina dei risultati della ricerca del prodotto utilizza i filtri del modulo che modificano la visualizzazione dei risultati. Questi filtri aggiornano la querystring. L'utente fa clic su un prodotto: nella pagina di quel prodotto è presente un link "torna ai risultati". Il metodo JS riporterà l'utente sulla pagina con la querystring corretta per i risultati, un collegamento hardcoded non lo farà. –

3

Fuori dalla mia testa. Credo che questo javascript simuli il pulsante Indietro del browser. Non si può mai essere troppo sicuri di come un utente è arrivato a una determinata pagina, vale a dire che avrebbero potuto accedere alla pagina tramite un sito esterno. Pertanto questa implementazione sarebbe semplicemente, rispedirli, il che potrebbe non essere un risultato desiderabile.

+0

sicuro, ma cosa succede se questo è il comportamento previsto, come nel mio esempio di pagina di errore? – andryuha

+0

+1 punti validi – alex

+0

@andryuha: onestamente, se quello è un comportamento indentato non riesco a vedere nulla di sbagliato in esso. Ho visto alcuni grandi siti usarlo, anche se con parsimonia. –

Problemi correlati