在带有参数的URL末尾使用#
的目的是什么?
即https://www.example.com/mypage?name=George&profession=Engineer#
我已经在浏览器中注意到,如果我的URL是这样的:
https://www.example.com/mypage?name=George&profession=Engineer
(无#
)
,然后我打Enter
,然后被重定向。
但是,如果我的网址以#
结尾并且按Enter键,则不会发生任何事情。
答案 0 :(得分:2)
#
指示fragment identifier的开始。此跟随查询字符串,它不是查询字符串的一部分。
这会导致浏览器导航到URL前面部分所引用的页面中具有匹配ID的元素。
http://example.com/foo/?bar=123#baz
…将链接到id="baz
中带有<section id="baz">...</section>
(例如http://example.com/foo/?bar=123
)的元素
当您仅添加#
并按Enter时,页面不会重新加载,因为浏览器知道它已经加载了页面,并且只会滚动到匹配的ID(在这种情况下为页面顶部)因为没有匹配的ID)。