【问题标题】:Back button not working in chrome后退按钮在 chrome 中不起作用
【发布时间】:2011-05-23 05:43:29
【问题描述】:

当单击哈希锚 (#) 时,我们使用 jscrollpane 来浏览一些 div。在 Chrome 中单击后退按钮时,地址栏中的 url 会发生变化,但浏览器不会导航回 div。在 Firefox 中,它确实会回到之前的 div。

http://www.sandbox.brightboxstudios.com/swings/test4.html

我尝试过各种各样的东西,包括插件、不同的 jquery 库版本。

此外,当 url 锚点不起作用时,我尝试将活动菜单项更改为活动的所有内容都不起作用,这很可能是因为我缺乏 JavaScript 知识。这也太棒了!

【问题讨论】:

  • 对实际问题的描述会很好。
  • 如果能在此处描述使用中的技术细节来代替对 Reuben 的 Javascript 熟练程度的描述,仍然会很好。
  • @deceze:我已将其添加到问题中,请随时添加您认为合适的任何其他详细信息。
  • 在 Mac 上使用最新版本的 chrome (12),后退按钮可以正常工作。不过没有滑动动画,这是你关心的问题吗?
  • 哦,我明白了,它会回到第一页,但不会回到 2,3 等。

标签: javascript jquery html google-chrome jscrollpane


【解决方案1】:

我尝试对您的代码进行此代码修复:

$('ul.nav a')
.unbind("click") // to remove your binding in my console
.bind('click',function(event){ // rebind event handler
    var $anchor = $(this);
    $('html, body').stop().animate({
      scrollLeft: $($anchor.attr('href')).offset().left
    }, 1500,'easeInOutExpo');
  event.preventDefault();

  // this is a trick:
  location.href = $anchor.attr('href');
  return false;
});

导航开始工作。自己试试吧。

【讨论】:

  • 所以我只是用这个替换我的代码还是把这个放在后面?我都试过了..现在滑动之前似乎是 studder,当按下后退按钮时仍然无法工作..非常感谢您的帮助!
  • 没关系 - 替换或放在后面 ;) 最好将所有 JS 放在 HTML 中。 P.S.:我有 Chrome 11.0
  • 好的,我已经完成了,留给你看..我也有11个,现在它不滑动,后退按钮也不起作用..
  • 好的,下面的评论让我意识到来回确实有效,减去没有哈希的原始页面,但是我可以重定向 URL 以添加哈希,我有点计划无论如何都要从中间开始..唯一的问题是它现在不滑动..
  • 它大部分时间都可以工作,但有时会在按下后退按钮时出现故障,并显示前一页,但只是一闪而过,然后马上返回..有什么想法吗?真的很近!非常感谢!!
【解决方案2】:

我发现有一个问题几乎肯定会影响事情。

在您的 javascript 中的某处,哈希锚前面有一个正斜杠,使生成的 url 看起来像这样:

http://www.sandbox.brightboxstudios.com/swings/test4.html#/section3

注意# 散列之后的正斜杠,使其成为技术上无效的 URL(没有值 #/section3 的 id 或名称)。当我悬停链接时,它没有出现在状态栏中,只出现在结果 URL 中,这让我相信它与您正在使用的 address 插件有关(尽管我没有个人经验)。

返回按钮在 Firefox 中为我工作,因为前一个 URL 是一个没有哈希的 URL(即有效的 URL)。我很难用所有加载的插件来调试你的页面,但是看看你是否可以做一些事情来使这些 URL 有效并摆脱那个正斜杠。

除此之外,即使这只是一个演示,您也应该确保您没有重复 ids。您有多次出现#header#middle。最好在调试时(或总是,实际上)消除所有疑虑,并使用有效的标记。

希望这能让您更接近解决您的问题。

【讨论】:

  • 看起来你通过这样做修复了很多问题,我现在可以在 Chrome 中返回和前进,但有一个例外:返回到没有哈希的原始 url。所以,这解决了很多。无论哈希是否实际更改,您都可以尝试为这些链接触发哈希更改事件 onclick。 (只是注意到幻灯片效果不再起作用了......)
  • 我正计划从主域添加重定向以添加主题标签,甚至让它从中间开始..我只需要向后滑动..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
  • 1970-01-01
  • 1970-01-01
  • 2014-12-27
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多