window.location.replace()无法重定向浏览器

我用页面导航,但这段代码不起作用,有什么问题?

 $(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)"; } }); });  

不要为此使用.replace() ,只需直接赋值。

 $("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"; } }); 

您的代码有语法错误。 你的最后一个括号是在引号里面而不是在…之外

尝试:

  

并非所有浏览器都支持window.location.replace。 始终支持分配位置值。 但是,使用替换而不是分配位置值的原因是您不希望当前URL显示在历史记录中,或者在使用后退按钮时显示。 由于这并非总是可行,您只需要满足于可能的情况:

  

我在Chrome中遇到了这个问题。 我试图从同一个域加载另一个页面,但使用的是绝对URL(例如www.example.com/newurl )。 我将其更改为相对URL( /newurl ),现在可以使用了。

我的想法是,这是一项安全function,可防止用户通过某些javascript广告重定向到恶意网站。

我在Chrome中重新加载同一页面时遇到了问题。 做了以下工作:

  window.location.replace("/mypage1.aspx?type=abc"); //redirect to fake page window.location.replace("/mypage.aspx?type=abc"); //redirect to same page 

这有点像黑客,但这似乎是唯一强制在Chrome中同一页面重新加载的东西。 IE和FF在没有重定向到虚假页面的情况下工作。

我使用了它,这是工作

 $(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; } }); });