3

我意识到许多网络应用程序#在他们的应用程序的 URL 中使用。

例如,谷歌分析

当我查看访问者的语言页面时,此地址位于 URL 栏中:

https://www.google.com/analytics/web/?hl=en#report/visitors-language/a33185827w60383872p61754588/

当我查看访问者的地理位置页面时,此地址位于地址栏中:

https://www.google.com/analytics/web/?hl=en#report/visitors-geo/a33185827w60383872p61754588/

我认为这是 Google Analytics 网络应用程序通过#report/visitors-language#report/vistiors-geo.

我知道 Google 分析正在使用<iframe>. 显示内容时似乎只有主要内容框在变化。

#因为<iframe>功能而使用吗?

4

6 回答 6

5

有几个答案,但没有一个涵盖后端部分。

这是一个 URL,来自您自己的示例:

www.google.com/analytics/web/?hl=en#report/visitors-language/a33185827w60383872p61754588/

您可以将 post-hash(包括 hash #)部分视为客户端请求。

Web 服务器永远不会知道在井号之后输入了什么。它是指向页面上特定 ID 的浏览器。

对于基本网页,如果您有此 HTML:<a name="main">welcome</a>

在 的网页上www.example.com/welcome,将www.example.com/welcome#main浏览器视口滚动到HTML 标记中的欢迎文本。<a>

Web 服务器将不知道是否#main在 URL 中。

URL 中问号后的值称为 URL 参数,例如www.example.com/?foo=bar. Web 服务器可以根据这些值提供不同的内容。

但是,Google 开发了一种称为AJAX一种同步J avaScript 和X ML)的技术,它利用#URL 中的部分在不加载页面的情况下提供不同的内容。它没有使用<iframe>.

使用 JavaScript,您可以触发 URL 的 post-hash 部分的更改并向服务器发出请求以获取页面的特定部分,例如对于 URLwww.example.com/welcome#main2即使命名的元素#main2不存在,您也可以使用JavaScript。

哈希棒是#!. 它用于通过指示这部分是动态网页来使搜索引擎索引更容易。

于 2012-10-12T08:14:32.913 回答
3

这是网址中的“哈希”。

许多浏览器支持 javascript 中的哈希更改事件。

据我所知,哈希变化是 ajax 回调的革命。

因此,当用户与带有哈希的任何链接进行交互时,然后在哈希更改时触发事件,您可以使用 javascript 应用任何东西。

另一件事是浏览器历史记录支持哈希更改。

于 2012-10-12T07:29:17.633 回答
1

见以下网址

SEO 和 !# 在 url 中的使用

或阅读

'#!被称为“hashbang”,它们是 Web 开发中所有邪恶的根源。

基本上,弱网络开发人员决定使用#anchor 名称作为一种笨拙的黑客手段,让“web 2.0”的东西在他们的页面上运行,然后向谷歌抱怨他们的页面排名受到了影响。谷歌通过启用 hashbang 来解决他们的问题。

弱小的 Web 开发人员将这项工作视为福音。不要使用它。这是一个拐杖。

依赖 hashbang 的 Web 开发是错误的 Web 开发。

这篇文章的措辞比我以往任何时候都好得多,并且处理了 Gawker 媒体从他们迁移到(失败的)以 hashbang 为中心的网站的惨败。它告诉你发生了什么以及为什么不好。

http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs

于 2012-10-12T07:32:06.320 回答
0

如果我错了,请纠正我,该 URL 中的主题标签将用作锚点,以将页面滚动到具有 id 的元素。例如,我将您发送到 url http://example.com/sample#example,页面将在元素处滚动(仅显示)(我使用 div 作为任意示例,它可以是任何东西) .

于 2012-10-12T07:28:39.790 回答
0

url 中的 Ajax 和哈希标记主要用于快速操作。如果您的网站中有一部分只能通过触发事件(主要是点击)可见 - 很难分享它。使用 url 中的哈希标记,您可以(通过 javascript)使浏览器认为您执行了所需的操作,它将显示相关部分。

于 2012-10-12T07:34:24.853 回答
0

通常,在 url 中使用的 '#' 会找到该特定页面中 '#' 旁边的特定 id。通过使用它,我们还可以查看页面中间的特定内容。

于 2012-10-12T07:38:23.320 回答