1

每当我的 URL 包含#.

#动态创建并插入header($location);到. 之后新的 URL 会像这样加载:www.example.com?p=1#key-1,但是它不会转到#页面上的选定项。我怎样才能做到这一点?

我查看了 javascript window.location.hash,但是我无法弄清楚如何正确使用它。

更新: 当我手动输入#sek-31地址栏时,url 中的 # 起作用。但是,当我重新加载相同的 URL 时,我会回到页面顶部。

更新二: 在此处输入图像描述

更新三:

它在以下浏览器中工作:

  • Windows 版本的 Safari
  • 火狐
  • 边缘
4

1 回答 1

0

如果您自动转到www.example.com?p=1#key-1浏览器,则会滚动到带有idkey-1 的元素。所以,只需添加一个id属性。

https://developer.mozilla.org/en/docs/Web/HTML/Element/a#attr-href

(这个网址已经是这个的演示了。#attr-href当你点击它时,你会直接进入该部分#attr-href

http://output.jsbin.com/bajiqu#res 请注意,我#res输入了 url,因此浏览器将滚动到该#res段落。

于 2015-12-01T13:04:49.123 回答