Ho fatto una semplice funzione che fa si che tutti i contenitori si comportino come link (elemento "a").Il pulsante Indietro non funziona dopo window.location.replace (href);
function allHot(element){
$(element)
.click(
function(){
var href = $(this).find('a').attr('href');
window.location.replace(href);
})
.hover(
function(){
$(this).css({'text-shadow' : '0px 1px 0px #D6D6D6'});
},
function(){
$(this).css({'text-shadow' : 'none'});
}
);
}
La funzione funziona alla grande. Invece di fare clic sul pulsante "altro", l'utente può fare clic ovunque sul contenitore e viene correttamente reindirizzato.
Tuttavia, se l'utente dopo il reindirizzamento fa clic sul pulsante, il browser torna indietro di due passaggi anziché uno come dovrebbe. Cosa c'è di più strano, la storia sembra OK.
schema semplice per una migliore descrizione:
Pagina1 -> Pagina2
Pagina2 [utente fa clic su "allHot" contenitore] -> allHot reindirizza al Pagina3
Pagina3 [utente fa clic sul navigatore pulsante indietro] -> Page1
Questo è un grosso problema per il sito Web su cui sto lavorando proprio ora. Non ho davvero la minima idea di impedirlo. Bug testato su Firefox, Chrome e Opera.
Testato anche su Opera "nessuna modalità javascript". Se javascript è disabilitato, il problema non si verifica.
Grazie in anticipo per qualsiasi indizio o soluzione.
Così semplice, funziona come un fascino. Molto apprezzato. – sznowicki
Nota. Se sei come me e scopri che il pulsante Indietro non funziona ancora dopo il reindirizzamento come menzionato sopra, assicurati di utilizzare l'URL completo ad es. 'Http: // www.example.com/endpoint'. L'utilizzo di solo '/ endpoint' non funzionava ancora. – zafrani