ejemplos - windows location reload javascript
window.location.replace() no funciona para redirigir el navegador (5)
Hago navegación con páginas pero este código no funciona, ¿cuál es el problema?
<script>
$(document).ready(function() {
$("body").keydown(function(event) {
if(event.keyCode == 37) { // left
window.location.replace("http://newsii.abudayah.com/photo/2)"; }
else if(event.keyCode == 39) { // right
window.location.replace("http://newsii.abudayah.com/photo/31)"; }
});
});
</script>
Estaba teniendo problemas con esto en Chrome. Estaba intentando cargar otra página del mismo dominio, pero estaba usando una URL absoluta (por ejemplo, www.example.com/newurl
). Lo cambié a una URL relativa ( /newurl
) y funciona ahora.
Mi idea es que esta es una característica de seguridad para evitar que el usuario sea redirigido a un sitio malicioso a través de algún anuncio de JavaScript.
No use .replace()
para esto, simplemente asigne el valor directamente.
$("body").keydown(function(event) {
if(event.keyCode == 37) { // left
window.location = "http://newsii.abudayah.com/photo/2";
}
else if(event.keyCode == 39) { // right
window.location = "http://newsii.abudayah.com/photo/31";
}
});
Tu código tiene un error de sintaxis. Su paréntesis final está dentro de la cita no afuera ...
Tratar:
<script>
$(document).ready(function() {
$("body").keydown(function(event) {
if(event.keyCode == 37) { // left
window.location.replace("http://newsii.abudayah.com/photo/2"); }
else if(event.keyCode == 39) { // right
window.location.replace("http://newsii.abudayah.com/photo/31"); }
});
});
</script>
window.location.replace no es compatible con todos los navegadores. La asignación del valor de ubicación siempre es compatible. Sin embargo, la razón para usar reemplazar en lugar de asignar el valor de ubicación es que no desea que la url actual aparezca en el historial, o que se muestre cuando se usa el botón Atrás. Como esto no siempre es posible, solo debes conformarte con lo que es posible:
<script>
$(document).ready(function() {
$("body").keydown(function(event) {
if(event.keyCode == 37) { // left
try { window.location.replace("http://newsii.abudayah.com/photo/2"); }
catch(e) { window.location = "http://newsii.abudayah.com/photo/2"; }
}
else if(event.keyCode == 39) { // right
try { window.location.replace("http://newsii.abudayah.com/photo/31"); }
catch(e) { window.location = "http://newsii.abudayah.com/photo/31"; }
}
});
});
</script>
Tuve un problema al no funcionar al volver a cargar la misma página en Chrome . Haciendo lo siguiente funcionó:
window.location.replace("/mypage1.aspx?type=abc"); //redirect to fake page
window.location.replace("/mypage.aspx?type=abc"); //redirect to same page
Es un truco, pero parece ser lo único que obliga a volver a cargar en la misma página en Chrome. IE y FF funcionan sin el redireccionamiento a una página falsa.
Usé esto y es trabajo
$(document).ready(function () {
$(document).keydown(function(e) {
var url = false;
if (e.which == 37) { // Left arrow key code
url = $(''.prev'').attr(''href'');
}
else if (e.which == 39) { // Right arrow key code
url = $(''.next'').attr(''href'');
}
if (url) {
window.location = url;
}
});
});