【问题标题】:Make a URL Navigation load instantly立即加载 URL 导航
【发布时间】:2012-12-01 19:43:21
【问题描述】:

众所周知,“快速导航”很容易为http://example.com/#1 工作 --> http://example.com/#2

但是,那里有一种新技术。它可以在http://example.com/1 之间实现快速导航 --> http://example.com/2

示例:http://rageslide.com/

正如您在示例中所见,http://rageslide.com/1http://rageslide.com/2 等之间的导航显然不会强制重新加载整个网站。
我想为我的网站做同样的事情,但我不知道该怎么做。我的网站提供的所有页面都是动态的(通过 PHP 和 MYSQL)。

我有这个想法:

不同的想法:

这行得通吗?或者解决这个问题的最佳方法是什么?

【问题讨论】:

    标签: php javascript caching navigation preload


    【解决方案1】:

    不,您在那里看到的 url 不用于加载另一个页面。网站中包含的 javascript 代码中有 AJAX 请求,加载新内​​容以显示和更新 URL 栏。

    您可以在this article 以及过去提出的以下问题中了解更多信息:

    Modify the URL without reloading the page

    Updating address bar with new URL without hash or reloading the page

    【讨论】:

    • 非常感谢!我有一种感觉,您提供的链接将引导我找到解决方案。希望会报告解决方案。
    • 我还有一个问题:由于我的内容是动态的,最好的解决方案是将 php 文档缓存 60 秒并在后台静默预加载下一页 或者 当用户导航时只请求下一页?编辑:当我想到它时,我真的不需要缓存 php 文档。我可以简单地将预加载的 html 存储在一个变量中。
    • 正确。您可以在第 n 个页面上发出第 (n+1) 个页面的请求,并将其内容存储在一个变量中,甚至是一个隐藏的 div 中(因此它更快,因为元素已经添加到DOM 树)
    【解决方案2】:

    我能想到两种你可以尝试的方法。

    首先是简单地使用 iframe 加载每个页面的下一页和上一页,当有人滑动到下一页时,将下一页加载到新的 iframe 或带有 ajax 或任何其他 html 元素的 div 中。

    另一个是使用rel属性,这里有一个explanation关于它。

    希望对你有所帮助

    【讨论】:

    • 刚刚尝试使用 'rel' 属性。这不是我提到的示例所使用的。 rel 属性导致加载新文档,示例没有这样做!
    • 然后只需参考我提供的第一个选项,在该选项中,您可以使用 jquery 的 load()append() 函数轻松地向您的页面添加更多内容。
    • 我认为解决方案更复杂。我现在正在阅读@4lbertoC 的链接。
    【解决方案3】:

    通过让浏览器缓存预期的导航点资源,您可以在不编写任何脚本或降低网站性能的情况下非常接近

    为了缓存图像,将假人放在正文的末尾 <img .... height="0" width="0">

    对于页面 <link rel=”prefetch” href=”url” /> 幻灯片查看器类型页面的 next 和 previous 也有一个 rel 属性

    注意:url可以是javascript资源

    注意 2:过渡可能比从 javascript 动态填充稍微不那么干净,尤其是在较大的复杂页面上,但仍然可以在 noscript 或 javascript 关闭的情况下工作,所以可能是一个很好的后备

    【讨论】:

      猜你喜欢
      • 2012-08-09
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 2013-02-12
      相关资源
      最近更新 更多