看起来像一个愚蠢的问题,但我不能为我的生活告诉。我刚在上一个HTML文件:带点“#”符号的html链接是否会导致页面刷新时点击?
<a href="#">hello</a>
当我点击它,它附加散列符号本网址的结尾和我的肉眼的页面似乎并不被重装。
这是正确的还是页面实际重新加载?
看起来像一个愚蠢的问题,但我不能为我的生活告诉。我刚在上一个HTML文件:带点“#”符号的html链接是否会导致页面刷新时点击?
<a href="#">hello</a>
当我点击它,它附加散列符号本网址的结尾和我的肉眼的页面似乎并不被重装。
这是正确的还是页面实际重新加载?
不,页面不会重新加载。更糟糕的是,页面将滚动到顶部。
这里的更多信息比你想: http://dev.w3.org/html5/spec/Overview.html#scroll-to-fragid
在一个链接#是一个地方的链接在当前页面(见link“name属性”)。它通常是类似于维基百科中使用的#sectionname
URL中的散列定义了一个片段。 URI中片段的用途定义如下:http://labs.apache.org/webarch/uri/rfc/rfc3986.html#fragment。
URI可以用于更多的代理而不仅仅是浏览器,但是在Web环境中,资源用“页面”标识,片段标识的子资源是页面的一部分,并且没有“旅行到服务器“加载一个页面。
浏览器可以在页面滚动到片段时自由回流页面,但不需要“重新加载”该术语通常所理解的内容。
只要他们在页面上查看没有。如果您点击指向example.com/someOtherPage.html#someTag
等其他页面的链接,它会将您带到新页面的那一部分。
很多较旧的网站使用了真正的长页面,并且只是从一个元素到另一个元素有链接,因为速度很慢,这种方式下,一旦页面加载,您只需从一个部分跳到另一个部分而不加载。