此代码适用于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>
答案 0 :(得分:2)
您发送到浏览器的路径是相对的。您需要为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');
答案 1 :(得分:2)
我遇到了同样的问题,我找到了两个解决方法。第一种方法是设置超时帧,因此代码如下:
setTimeout(function () { document.location.href = "nextpage.html" }, 1000);
第二个解决方案是将下一页分配给window.location,它将如下所示:
window.location.assign("nextpage.html");
希望它有所帮助。
答案 2 :(得分:1)
使用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;
}
});
答案 3 :(得分:0)
点击input type="submit"
不允许脚本设置location.href
input type="button"
工作正常。
答案 4 :(得分:0)
所以我知道这有点旧了,但是由于它是Google搜索时排名第一的结果,所以我想在这里加两分钱。
对我来说,问题最终是我在fancyBox中执行此操作,然后调用“ parent.jQuery.fancybox.getInstance()。close();”)之后。在IE中,此方法工作正常,但我猜在Chrome中,通过调用.close()阻止了重定向工作。
解决方案是仅删除该行。由于重定向了主窗口,所以window.location.href仍然强制将其关闭。
答案 5 :(得分:-3)
重新启动Chrome后,问题就消失了。