AJAX 深度链接——正确的语法是啥?

Posted

技术标签:

【中文标题】AJAX 深度链接——正确的语法是啥?【英文标题】:AJAX Deep Linking — What is the correct syntax?AJAX 深度链接——正确的语法是什么? 【发布时间】:2013-07-28 07:36:38 【问题描述】:

用于 AJAX 深层链接的正确语法是什么?我正在使用jQuery Address。

我见过以下方法:

http://example.com/#Contact
http://example.com/#/Contact
http://example.com/#!/Contact

哪个更好,为什么?

【问题讨论】:

【参考方案1】:

这取决于你想要做什么?

最后一个是 hashbang,如果您的网站结构正确,也可以为 Google 提供适当的内容。

换句话说,这个ajax链接:

http://example.com/#!/Contact

将由 Googlebot 转换为:

http://example.com/?_escaped_fragment_=Content

当访问该页面时,您应该提供与 ajax 驱动页面上相同的内容,但没有 ajax,以便 Googlebot 可以读取它。

There's more here

除此之外,你用什么没关系,只要它有效

【讨论】:

【参考方案2】:

http://example.com/#!/Contact 是最好的,不知道为什么,但 google 认为它是唯一的 url

【讨论】:

【参考方案3】:

这取决于您的实现,但我更喜欢使用没有主题标签的真实 URL。有一些技术可以在不重新加载的情况下操作 url。这称为 pushState 参见 MDN:https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history

因此,您可以加快页面的加载速度,但您还需要在服务器端实现这一点,以提供正确的响应。然而,这对用户来说更好。

【讨论】:

以上是关于AJAX 深度链接——正确的语法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

“Windows 不支持正确的动态链接”是啥意思?

程序编译链接后形成的可执行文件是啥文件

进行ajax调用时如何正确处理链接上的href值?

如果应用程序关闭,深层链接不会正确重定向

python三本经典书籍都是啥?

使用 PHP $_GET 的超链接 URL 的正确语法