是什么 #!在网址上签名是什么意思?

时间:2011-03-22 17:25:35

标签: html

  

可能重复:
  What is it when a link has a pound “#” sign in it

我看到了#!登录网址 喜欢:

http://www.google.jo/#!

但我不知道这是什么意思? 我知道 这个

http://www.foo.com#bar 

用于链接页面中的元素。 但是关于 !字符

5 个答案:

答案 0 :(得分:12)

它被称为URL HASH,用于页内书签。它现在还用于维护AJAX应用程序中的页面状态。 #之后的任何内容都可以轻松解析和重写,而不必强制重新加载页面,允许JavaScript代码根据开发人员的选择加载/隐藏/显示页面元素。

答案 1 :(得分:2)

它被称为哈希,它用于表示页面中的锚点。基本上,当页面加载时,它将寻找锚点并将页面滚动到它。

http://www.google.jo/#hl=ar&source=hp

<div>content</div>
<div id="hl-ar">scroll here</div>
<div>content</div>

答案 2 :(得分:2)

传统上,在网址中使用了#来告诉浏览器跳转到页面中的锚点,其名称跟在#之后。

在现代AJAX应用程序中,它允许修改位置栏URL而不需要重新加载页面,允许浏览器上的“后退”按钮返回AJAX状态,以及AJAX页面的书签。

答案 3 :(得分:1)

网址中的

#就像goto statement一样。即移动到同一页面的特定部分。

除此之外,大量使用ajax的应用程序也会使用它来渲染网站的大部分而不刷新页面(即页面没有刷新但是使用ajax从服务器请求了大量的html整个页面加载的印象)。

这些应用程序面临一个问题,当用户点击浏览器中的后面或刷新按钮时,它可能无法向他们显示正确的页面,因为没有刷新发生。因此,通过将历史信息附加到由#分隔的网址来应用解决方法。当用户点击刷新或后退按钮时,此信息用于将它们带到正确的页面。有一个jquery插件可以做到这一点。

最近我从谷歌那里得到了this doc,它解释了如何通过在网址中使用#!来使ajax应用程序“可抓取”

答案 4 :(得分:0)

(#)是一个哈希符号。

它用于表示页面的命名部分,它允许网站不仅链接到页面,而且链接到页面的特定部分。