2013-08-09 4 views
1

Этот код работает для Firefox, но не для Chrome. Я считаю, что это window.location.href, но что я могу сделать, чтобы эта работа для хром. В основном это переключает страницы.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> 
+0

Какое значение PHP возвращает эхо? –

+0

Он работает в хроме. Какую версию хром вы используете? – Konsole

ответ

1

Попробуйте его с 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; 
} 

});

+0

Разница? Почему вы это должны работать? Как насчет 'href'? – Green

2

Пути, которые вы отправляете в браузер, относительны. Вам нужно будет предоставить JS полный URL-адрес. Попробуйте это:

window.location.href = 'http://'+ window.location.host + $('#next').attr('href'); 

Как простой пример:

На этой странице, откройте консоль в хроме (сдвиг + CTRL + J) и введите:

window.location.href = 'http://' + window.location.host + $('.bottom-notice a:last').attr('href'); 

Будет перенаправлено на https://stackoverflow.com/questions/ask

+0

Я получал эту проблему и добавляю в окно.location.host сделал трюк для меня – MorkPork

+0

Не работает ни с или без протокола – Green

-3

После перезагрузки Chrome проблема исчезла для меня.

2

У меня была такая же проблема, и я нашел для нее две работы. первый способ установить тайм-аута кадр, так что код будет выглядеть так:

setTimeout(function() { document.location.href = "nextpage.html" }, 1000); 

второе решение присвоить следующую страницу, чтобы window.location и было бы следующим образом:

window.location.assign("nextpage.html"); 

Надеюсь, что это поможет.

+0

Это единственное решение, которое работало для меня во всех браузерах (даже мобильных). – T3rm1

0

Щелчок на input type="submit" не позволяет скрипт для установки location.href

input type="button" An работает отлично.

Смежные вопросы