PDA

Visualizza la versione completa : navigazione tabs impedisce il back di pagina del browser


stardom
21-03-2021, 23:24
ma come si fa sta roba? Ho una pagina con delle tabs, se dopo averne navigate alcune provo "back" sul browser, quello mi torna indietro per ogni tab. Dove devo inserire
onclick="parent.location='javascript:history.go(-1)' in modo che mi torni indietro di una pagina?

stardom
22-03-2021, 18:22
...credo che dovrei metterlo in <ul id="business-tabs">. Ho provato così
<ul id="business-tabs" onClick="history.go(-1); return false;"> e funziona, ma con strani comportamenti.

Ho poi letto che non bisognerebbe mai mettere onclick dentro html, quindi ho provato mettendolo in esterno

jQuery(document).ready(function( $ ){
$('#business-tabs').click(function(){
onClick="history.go(-1); return false;"
});
});
ma non funziona.
Qui mi serve aiuto perchè non sono un coder. :messner:

cavicchiandrea
22-03-2021, 21:01
Non so dove hai letto che non bisogna mettere eventi nel html. Hai provato history.back()?

stardom
22-03-2021, 21:16
L'ho letto su Stackoverflow (https://stackoverflow.com/questions/5871640/why-is-using-onclick-in-html-a-bad-practice). Si, anche history.back funziona, però sempre se lo metto nell'html e non se chiamo la funzione esternamente.
Poi, lo strano comportamento di cui parlavo è che normalmente si vede la parte terminale dell'URL delle tab (es. /#portfolio, /#contatti), mentre invece con l'aggiunta di onclick l'URL compare una frazione di secondo e poi scompare. Pertanto credo che ci sia qualcosa di non corretto.

Vincent.Zeno
22-03-2021, 21:44
se ho capito bene la questione...

quando navighi tra le tab l'indirizzo sul browser viene modificato?
se si: prova ad inserire "return false" nell'evento onclick

stardom
22-03-2021, 21:46
avevo già provato return false, hai visto il codice sopra?
Metto il sito online per un po', prova a dare un'occhiata a questa pagina (https://agendadelvolo.info/Azienda/anpcat-controllori-assistenti-traffico/) (con il codice incluso). L'URL non mostra più il nome della tab (#portfolio)

Vincent.Zeno
22-03-2021, 22:05
passandomi l'indirizzo finale è complicato verificare history back (opzione che ritengo comunque inutile, il browser sa già farlo a dovere).

ho notato l'apparizione della variabile della #tab, non ne immagino il motivo.

questo
https://www.w3schools.com/howto/howto_js_tabs.asp
è uno script che uso e non mi da problemi.
nello specifico non interviene sull'indirizzo di navigazione, quindi un back del browser esegue il normale comportamento di cambiare l'intera pagina

se ti è di aiuto... :fagiano:

stardom
22-03-2021, 22:09
Puoi rivedere la pagina ora che ho tolto l'onclick.
Il codice che mi invii sarebbe semplice da applicare, ma non ho accesso alle singole tabs perchè sono generate da un infinità di variabili (e sono dinamiche). Quindi non posso metterlo tab per tab.

cavicchiandrea
23-03-2021, 17:21
Prova cosi

jQuery(document).ready(function( $ ){ $('#business-tabs').click(function(){history.back(); return false;
}); })

stardom
23-03-2021, 17:37
No, mi spiace, questo codice mi manda indietro di una pagina non appena clicco su una delle tabs.
Resta il fatto che me lo prende solo se lo metto inline <ul id="business-tabs" onClick="history.back(); return false;">, e non da un js esterno

Loading