作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在相当大的平面文档页面上使用 angularjs。该页面有一些导航,旨在使用传统的 url 哈希链接。网址如下所示:
/documentation/flat#26166276-basic-events
一旦导航发生并且我已经点击了下一页,这些 url 就会被重写。 Angular 初始化为类似:/documentation/flat#/26166276-basic-events
这会破坏导航。如果我已经在 /documentation/flat
路径上并点击其中一个哈希 url,它似乎可以工作。它被重写,但浏览器仍然关注页面的正确部分。
但是,如果哈希 url 是从不同的路径触发的,那么当 angularjs 重写发生时,浏览器将不会关注正确的 DOM 元素。
编辑:这是链接标记的样子
<a href="/documentation/flat#26166276-basic-events">Basic Events</a>
<h1 class="chap-header" id="26166276-basic-events">2.1.0 Basic Events</h1>
最佳答案
这里进一步讨论了这个话题:
How to handle anchor hash linking in AngularJS
我使用了那个线程的变体
if $location.$$url[0]== '#'
$location.hash($location.$$url.replace('#', ''))
$anchorScroll()
这基本上让我可以在任何 anchor 链接前加上一个额外的 #
并且 angularjs 将它们视为传统 anchor
关于ruby-on-rails - 如何在 angularjs 中使用原生 anchor 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131453/
我是一名优秀的程序员,十分优秀!