有没有办法设置锚标记在网址中显示的内容?
例如,如果我要写:
<a id="HomeAnchor"></a>
链接到它会导致页面:
www.example.com#HomeAnchor
虽然这通常没有任何问题,但网站相对较大,并且为了避免任何冲突,ID的长度和描述性相当长。基本上,它们并不是你想要向顾客展示的东西。
有没有办法让复杂的ID锚生成一个非复杂的URL?纯粹出于审美/用户体验的目的,例如
<a id="FeaturesPageTopAnchor"></a>
到
www.example.com#Top
理想情况下,我希望尽可能避免使用JS修改URL。
答案 0 :(得分:0)
“相当长且具有描述性”这听起来像是做想要向客户展示的东西。我宁愿让他们看到example.com/products/MyAwesomeProduct#FeaturesAndInstallation
比
example.com/products/160#EFXXKgg7
。
除此之外,没有必要在整个网站上制作唯一的锚点,仅限每页。因此#Top
锚点可以在每个页面上命名为Top
。
您可以在不遗漏信息的情况下缩短名称。它是网络,因此您正在查看页面。而且你正在跳到一个锚点(还有什么),所以你可以命名为FeaturesHome
而不是FeaturesPageHomeAnchor
,它仍然是同一个锚,几乎没有任何名字冲突的风险
请注意,它根本不必是a
元素。你可以锚定到任何元素的任何id。
锚点本身就是你所看到的就是你所得到的。 url中的值用于搜索id。在HTML中没有解决方法。也许你可以用JavaScript技巧解决它,但它会很复杂,容易出错并且基本上不值得。