window.location.href не работает для Chrome
Этот код работает для Firefox, но не для Chrome. Я считаю, что это window.location.href, но что я могу сделать, чтобы эта работа для Chrome. В основном это переключает страницы.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.6.4.js"></script>
<script>
$(document).keydown(function(e){
if (e.keyCode == 37) { // left
window.location.href = $('#prev').attr('href');
return false;
} else if (e.keyCode == 39) { // right
window.location.href = $('#next').attr('href');
return false;
}
});
</script>
</head>
<body>
<div style="display:hidden;">
<a id="next" href=<?php echo "readerapp.php?mode=$mode&pagenumber=$next";?>></a>
<a id="prev" href=<?php echo "readerapp.php?mode=$mode&pagenumber=$last";?>></a>
</div>
</body>
</html>
5 ответов
Попробуйте это с помощью window.location:
$ (Документ).keydown(функция (е) {
if (e.keyCode == 37) { // left
window.location = $('#prev').attr('href');
return false;
} else if (e.keyCode == 39) { // right
window.location = $('#next').attr('href');
return false;
}
});
У меня была такая же проблема, и я нашел два пути ее решения. Первый способ - установить интервал ожидания, поэтому код будет выглядеть так:
setTimeout(function () { document.location.href = "nextpage.html" }, 1000);
Второе решение заключается в назначении следующей страницы для window.location, и это будет выглядеть следующим образом:
window.location.assign("nextpage.html");
Надеюсь, поможет.
Пути, которые вы отправляете в браузер, являются относительными. Вам нужно будет предоставить JS полный URL-адрес. Попробуй это:
window.location.href = 'http://'+ window.location.host + $('#next').attr('href');
В качестве быстрого примера:
На этой странице откройте консоль в Chrome (Shift+CTRL+j) и введите:
window.location.href = 'http://' + window.location.host + $('.bottom-notice a:last').attr('href');
Он перенаправит вас на https://stackru.com/questions/ask
Итак, я знаю, что это немного старая тема, но поскольку это результат №1 в Google при поиске, решил, что добавлю сюда свои два цента.
Для меня проблема заключалась в том, что я делал это в fancyBox и вызывал "parent.jQuery.fancybox.getInstance(). Close();" сразу после. В IE это работало нормально, но я думаю, что в Chrome, вызывая.close(), это мешало перенаправлению работать.
Решением было просто удалить эту строку. Window.location.href все равно принудительно закрыл его, так как главное окно перенаправлялось.
Нажав на input type="submit"
не позволяет сценарию устанавливать location.href
input type="button"
работает отлично.