2

此代码适用于 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>
4

6 回答 6

3

我遇到了同样的问题,我找到了两个解决方法。第一种方法是设置一个超时帧,所以代码是这样的:

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

第二种解决方案是将下一页分配给 window.location ,如下所示:

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

希望能帮助到你。

于 2016-01-18T09:35:09.587 回答
2

您发送到浏览器的路径是相对的。您需要为 JS 提供完整的 URL。尝试这个:

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

举个简单的例子:

Shift在此页面上,在 chrome ( ++ CTRL)中打开控制台j并输入:

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

它会将您重定向到https://stackoverflow.com/questions/ask

于 2013-08-09T01:46:40.297 回答
1

所以我知道这是一个旧线程,但由于它是搜索时在谷歌上排名第一的结果,我想我会在这里加两分钱。

对我来说,问题最终是我在fancyBox中执行此操作,并调用“parent.jQuery.fancybox.getInstance().close();” 之后。在 IE 中,这工作得很好,但我猜在 Chrome 中,通过调用 .close(),它阻止了重定向工作。

解决方案是删除该行。window.location.href 无论如何都会强制它关闭,因为主窗口已重定向。

于 2019-11-03T19:35:56.413 回答
0

试试看window.location

$(document).keydown(function(e){
    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;
    }
});
于 2013-08-09T04:32:30.930 回答
0

单击一个input type="submit"不允许脚本设置location.href

一个input type="button"工作正常。

于 2017-02-01T18:15:56.517 回答
-3

重新启动 Chrome 后,我的问题就消失了。

于 2014-12-22T03:22:29.660 回答