2015-07-10 116 views
1

什么时候应该有地址#以及何时应该为每个页面或页面的一部分分别设置地址。何时我应该使用#地址?

例如

https://ca.news.yahoo.com/nick-hornby-boys-read-telling-101350029.html 

我知道有时候我们需要有#,例如,当我们调用JavaScript方法来显示一个灯箱(模式),但一些网站在其独特的地址,使用它他们的页面。

例如 icloud使用它来显示其模式,当你点击create one now链接。

https://www.icloud.com/# 

然而,正如我说的一些网站正在使用的方法为他们的网页唯一的地址。

例如以下地址显示的是icloud网站的单个页面。

https://www.icloud.com/#find 

这是否正确遵循我们独特的类似于icloud的网站有网站的网页地址为#的这种做法?

我不是在问icloud.com这只是一个例子。我的意思是,如果你去www.icloud.com/#find页面,你会发现它不是一个单一的页面网站,因为只有一个标题,登录页面和页脚。那么他们为什么使用#find而不是像find.html?有什么特别的原因令我失踪?

回答

1

URL片段(#whatever)是解决文档的重要部分的方法。你应该记住,这些是从不发送到服务器或看到服务器,所以你不能真正使用它们在服务器端来区分网址。您可以使用它们来制作静态页面的部分地址,或者使用适当数量的JS扭曲,将它们用作单页面应用程序中可寻址导航的基础。一些JS框架相当明显地依赖于这个框架,尽管现在大多数浏览器都支持历史API,但它开始走出风格。

+0

这是正确的,但正如我asid一些网站使用它作为他们的网页的唯一名称以icloud网站#find为例。他们的理由是什么? – Jack

+0

@Jack这是一种构建单页应用程序的方法。页面JS拾取片段并使用它来发送适当的AJAX请求,然后返回该AJAX请求来呈现页面在同一页面上时需要显示的任何内容。 – pvg

+0

这就是我所猜测的,但看看iclound.com/#find它似乎只是有一种数据。这是否意味着他们有一个模板,并基于此#包含地址填充模板? – Jack

相关问题