我正在开发一个 SPA,使用 crossroads.js 进行客户端路由。一切都运行良好,只有一个例外。
我在这个 SPA 中有一个非常大的页面,我希望能够使用内部链接在顶部提供一个目录。在过去,我做过这样的事情:
<ul>
<li><a href="#Introduction">Introduction</a></li>
<li><a href="#Chap1">Chapter 1</a></li>
<li><a href="#Chap2">Chapter 2</a></li>
<li><a href="#Chap3">Chapter 3</a></li>
</ul>
这些将链接到具有相应 ID 的同一页面中的元素。
但是,既然我正在使用客户端路由,这似乎也不起作用。我正在使用它的页面有一个如下 URL:
http://myserver.com/#/Books/12/Full
单击上面的链接之一确实会将页面移动到屏幕上的正确位置,但会将 URL 更改为:
http://myserver.com/#Chap2
是否有一种标准方法来处理 SPA 中的内部链接,同时保留 URL?