735
|
BoltClock · 技术社区 · 14 年前 |
![]() |
1
478
这项技术是 now deprecated . 这个 用于 告诉谷歌如何索引页面。 https://developers.google.com/webmasters/ajax-crawling/
这种技术主要被使用HTML5旁边引入的JavaScriptHistoryAPI的能力所取代。对于URL类
|
![]() |
2
214
octothorpe/number sign/hashmark在URL中具有特殊意义,它通常标识文档节的名称。精确的术语是哈希后面的文本是 锚 URL的一部分。如果您使用维基百科,您将看到大多数页面都有一个目录,并且您可以使用锚定跳转到文档中的部分,例如: https://en.wikipedia.org/wiki/Alan_Turing#Early_computers_and_the_Turing_test
为了支持书签和后退按钮,需要更改URL。但是,如果更改页面部分
您将看到从服务器刷新页面。现在类型:
啊哈!没有页面刷新!Type:
仍然没有刷新。使用后退按钮查看这些URL是否在浏览器历史记录中。浏览器会注意到我们在同一个页面上,但是只是更改了锚,所以它不会重新加载。由于这种行为,我们可以有一个单独的javascript应用程序,它在浏览器中显示在一个“页面”上,但是有许多可书签的部分都与后退按钮相关。当用户进入不同的“状态”时,应用程序必须更改锚定,同样,如果用户使用后退按钮、书签或链接加载包含锚定的应用程序,应用程序必须还原适当的状态。 这样就有了:锚为JavaScript程序员提供了一种机制,使书签、可索引和后退按钮友好的应用程序成为可能。这种技术有一个名字:它是 Single Page Interface . 另外,这项技术还有第四个好处:通过Ajax加载页面内容,然后将其注入当前的DOM比加载新页面要快得多。除了速度增加之外,还可以在程序员的控制下执行其他一些技巧,如在后台加载某些部分。 P.P.S.鉴于所有这些,“bang”或感叹号进一步暗示了谷歌的网络爬虫可以从服务器以稍微不同的URL加载完全相同的页面。见 Ajax Crawling . 另一种技术是使每个链接指向服务器可访问的URL,然后使用不引人注目的javascript将其更改为带有锚的SPI。 下面是关键链接: The Single Page Interface Manifesto |
![]() |
3
110
首先:我是Raganwald引用的单页界面宣言的作者
正如Raganwald已经很好地解释的那样,Facebook和Twitter中使用的单页面界面(SPI)方法最重要的方面是使用哈希
性格
尽管
SPI宣言和演示不使用谷歌的格式
看看这个 tutorial ,是一个简单ITSNATSPI站点的例子,但是您可以为其他框架选择一些想法,这个例子与任何Web爬虫程序都是SEO兼容的。 困难的问题是生成任何(或选定的)“Ajax页面状态”作为SEO的纯HTML,在它的nat中非常容易和自动,同一站点同时是SPI或基于SEO的页面(或当为可访问性禁用javascript时)。对于其他Web框架,您可以使用双站点方法,一个站点基于SPI,另一个基于SEO的页面,例如,Twitter使用这种“双站点”技术。 |
![]() |
4
83
我会 very careful 如果您正在考虑采用这个hashbang约定。
你真的很想 use pushState instead of hashbangs 因为让你的网址变得丑陋,可能永远被破坏,这是对hashbang的巨大和永久的负面影响。 |
![]() |
5
15
为了更好地跟进这一切,Twitter——hashbang url和单页面界面的先驱之一——承认hashbang系统长期以来运行缓慢,事实上他们已经开始改变决定并返回旧的学校链接。 |
![]() |
6
9
我一直以为
当然,散列只是表示没有真正的页面重新加载,所以是的,它是用于Ajax的。 编辑:拉甘瓦尔德做了一个可爱的工作,更详细地解释这一点。 |
![]() |
7
-1
上面的答案很好地描述了它在Twitter和Facebook上使用的原因和方式,我错过的是解释什么是默认的 在“普通”(不是单页应用程序)上,可以通过将元素ID放在url中的hash之后,对任何具有ID的元素进行锚定。 示例:
(在Chrome上)单击
f12-
或
rihgt mouse
and
|
![]() |
errerr · htaccess重写引擎URL解释 6 年前 |
![]() |
user1 · 我的htaccess出现500错误 6 年前 |
![]() |
aBlaze · 如何导航到包含\u的URL? 6 年前 |
![]() |
gtershel · Laravel Url两级深 6 年前 |
![]() |
MarcoLe · Angular 5-路由更改url但不导航 6 年前 |