3

我的问题是关于这个网站 - http://www.bits-apogee.org/2011/

每当您单击侧面导航栏中的链接时,都会动态加载网站的中间部分。此外,网址也发生了变化,其他一切都保持不变。这是怎么做的?

这是一些查询插件吗?

4

4 回答 4

1

该站点在 URL 中使用哈希 (#) 来表示正在加载的新内容。

这对于人们为动态加载的内容添加书签(通常散列加载到页面上的特定区域,命名锚点或新浏览器的 ID)很有用,因为它们不会触发页面刷新......

http://www.highrankings.com/urls-with-hashtags-307对此存在缺点(SEO)问题...但是您会注意到越来越多的网站这样做,因此我认为 SEO 机器人会变得更好。

于 2012-05-08T20:22:44.547 回答
1

我完全同意@JMCCreative。看起来这是一次真正的刷新。您应该查看 StackOverflow 上的以下帖子。

在不重新加载页面的情况下修改 URL

于 2012-05-08T20:23:31.077 回答
1

有2种可能:

如果你使用 jQuery,你可以使用方便的插件jQuery Address。这将处理上述两种情况。

于 2012-05-08T20:24:29.330 回答
0

他们没有使用插件。他们正在向这样的 URL 发出 ajax 请求:http: //www.bits-apogee.org/2011/getcontent/? even= Rachel+Armstrong 并将概述转储到容器中。


这类流程的循环通常是这样的:

  1. 监听链接点击
  2. 点击时,防止默认事件。
  3. 用户 window.history.pushState 更新 url
  4. 其他一些代码 - 听到新的历史
  5. 生成一个 url 来获取内容。
  6. ajax加载url
  7. 将数据转储到容器中

我使用的 2 个库都比上面的更容易,因为它们依赖于通过 AJAX 加载常规 html 页面,而不是您指向的示例站点,该站点使用 JSON 格式来获取数据。

  • Pjax - 通过从不同的 URL 拉出该 HTML 节点来更新页面的部分。
  • Ajaxify - 最简单的解决方案,您可以在 10 分钟内在 HTML 网站上完成该效果。
于 2013-04-20T01:52:50.197 回答