我正在开发sitecore应用程序,因为一些业务逻辑,我正在动态创建项目的路径。当我给出
href= path+'#'+item name
然后它正在工作,但它在URL和我的客户端上的显示不希望这样。所以我改变逻辑并用/替换#。但我点击锚点时它不会重定向。为什么会这样..
答案 0 :(得分:4)
锚标记是指网页中的特定元素。 #是按ID选择项目,这会告诉浏览器加载URL然后转到ID为#item-name
的项目。因此,将#替换为其他任何东西都不会起作用,因为它是选择器。
如果您希望#不可见,则需要使用URL屏蔽。
答案 1 :(得分:1)
可能存在一些良好的可访问性原因,以便在浏览器URL栏中显示“#anchor”...
...但是,出于审美原因,如果你想消除它,但仍然具有相同的功能(即导航到单个网页的不同部分),那么你可以探索使用Javascript来做同样的事情。如果操作正确,您可以与页面进行交互,URL将永远不会更改。
如果您使用JS库(for example),那么您可以在页面位置之间探索更柔和的过渡,而不是快速切割。