你能将页面上的锚点视为单独的URL吗?

3

是否可能将页面上的锚点,例如index.html#section1,视为单独的URL,例如/section1/

我正在寻找类似于福布斯网站在此页面上所做的事情。如果您向下滚动,另一篇文章会加载,然后URL会更改为该文章的URL。他们是如何做到的?似乎是使用javascript,但是不需要像mod_rewrite这样的东西来创建这样的链接吗?


2
JavaScript的History API可以像这样更改URL,如果需要,mod_rewrite会理解它。 - Niet the Dark Absol
@NiettheDarkAbsol 没错,但我认为如果要在每个浏览器中正常工作,就需要一个 polyfill。 - Tim Seguine
4
history.js来拯救!该库可解决浏览器历史记录相关的问题,而且易于使用。 - Jonas Grumann
1个回答

1

对于您的第一个问题,是的,如果使用Apache,您只需要在htaccess文件中编写规则,并在配置文件中允许mod_rewrite。

如果您想要做类似于福布斯网站滚动到锚点时更改URL的事情,您不仅需要使用mod_rewrite编写规则,还需要使用JavaScript来确定用户何时滚动过锚点并更改地址栏中的URL。有几个jQuery插件可以实现这种魔术,比如http://janpaepke.github.io/ScrollMagic/,我喜欢使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接