Hice una función simple que hace que todos los contenedores se comporten como un enlace (elemento "a").El botón Atrás falla después de 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 función funciona de maravilla. En lugar de hacer clic en el botón "más", el usuario puede hacer clic en cualquier lugar del contenedor y se le redirecciona correctamente.
Sin embargo, si el usuario después de la redirección hace clic en el botón Atrás, el navegador retrocede dos pasos en lugar de uno como debería. Lo que es más extraño, la historia se ve bien.
esquema simple para una mejor descripción:
Página1 -> Página 2
Página2 [usuario hace clic en "allHot" contenedor] -> allHot redirige a Page3
Page3 [usuario hace clic en el navegador botón de retroceso] -> Página1
Este es un error importante para el sitio web en el que estoy trabajando en este momento. Realmente no tengo ni idea para evitarlo. Error probado en Firefox, Chrome y Opera.
Probado también en Opera "no javascript mode". Si javascript está deshabilitado, el problema no ocurre.
Gracias de antemano por cualquier pista o solución.
Tan simple, funciona como un encanto. Muy apreciado. – sznowicki
Nota: si eres como yo y descubres que el botón Atrás aún no funciona después de redireccionar como se mencionó anteriormente, asegúrate de estar usando la URL completa, p. 'http: // www.example.com/endpoint'. El uso de '/ endpoint' seguía fallando. – zafrani