代码之家  ›  专栏  ›  技术社区  ›  flamingLogos

什么会导致访问者返回到上一页的顶部,而不是链接所在的页面中的点?

  •  0
  • flamingLogos  · 技术社区  · 16 年前

    最近我在几个网站上看到了这种奇怪的行为:我向下滚动一个页面,并跟踪到另一个页面的链接。当我单击后退按钮并返回时,我会被留在上一页的顶部,而不是在链接处。如果我在搜索结果页面或“10个最佳foo条…”列表中单击链接,这会非常烦人。

    将此页作为 example . 奇怪的是,该页面在WinXP上的IE6中工作正常,但在同一台计算机上却不能在FF2上工作。在Mac OS X 10.4上,它在ff2中工作,但在ff3中不工作。我检查了所有奇怪的偏好设置,但没有发现有什么不同。

    知道是什么引起的吗?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Scott Swezey    16 年前

    许多站点都有一个文本框(用于搜索站点或其他内容),该文本框设置为在页面加载时(使用javascript或其他方式)自动获得焦点。在许多浏览器中,当页面获得焦点时,它将跳转到该文本框。

    这真的很烦人:(

        2
  •  1
  •   ConroyP    16 年前

    通常,这种行为是由站点设置的浏览器缓存导致的,该缓存在到期前只有很小的时间或没有时间。

    在许多网站上,当你点击“后退”时,你会回到你点击的链接,因为你的浏览器正在从你的缓存中拉出页面。如果未设置此缓存,则会发出新的页面请求,并且浏览器会将其视为新内容。

    在页面上 linked above , the "Expires" header 似乎比我的本地时钟早了不到一分钟,这使得我的浏览器在到期后按“返回”键时得到一个新的副本。