【问题标题】:Prevent page reload on back button防止在返回按钮上重新加载页面
【发布时间】:2015-04-04 12:44:38
【问题描述】:

我知道有很多关于这个的问题,但它们是在不同的上下文中。 我用谷歌搜索了很多,找不到解决方案。我有一个使用 http://www.infinite-scroll.com/ 进行分页的 WordPress 页面。这个问题是众所周知的——当用户向下滚动直到一些动态加载的内容并打开一个项目,然后按下“返回”按钮时,之前加载的内容不存在。我希望用户以相同的滚动位置显示相同的加载内容。

其中一个例子是 - conleys.de。你可以试试——它不会通过页面 url 来管理它。

我感兴趣的是——如何让浏览器缓存所有加载的内容并加载缓存的页面,而不是在单击返回按钮时重新加载它

【问题讨论】:

    标签: wordpress infinite-scroll


    【解决方案1】:

    为了让浏览器完全从历史中加载动态生成的页面输出,而无需再次运行页面生成,如果没有一些巧妙的诡计来确定静态内容是否已经创建,这将无法轻松实现。

    也许这可以通过一些巧妙的浏览器 cookie 或会话数据来指导“返回”页面加载本地版本,以及说明没有过期的页面标题和页面内容必须采用静态形式 HTML 而不是比服务器端形式的 PHP(如 Wordpress 一样)。

    但是要做出这个决定,代码需要是动态的,并且无限滚动中继到函数的 javascript 需要非常轻微的变化,因为 javascript 函数只会触发帖子页面创建 - 而不是 on 页面创建。

    总体而言,我认为实现您想要的目标所涉及的工作至少类似于绕着街区跑,以避免踩到人行道/人行道上的一个相当小的水坑。

    。 . .

    如果你想让浏览器缓存页面,你把它们写成静态页面,如果你想让浏览器记住缓存的页面而不调用无限滚动的页面变化,你还不如通过远程创建页面PHP 或其他形式,然后最终用户可以直接调用和加载静态 HTML 输出页面,而不是通过一组 PHP 请求。

    以及设置标题等...

    【讨论】:

    • 我就是不明白这个页面是怎么做的 - conleys.de
    • 当我查看 conleys.de 网站时,它没有这样做,我不得不向下滚动(再次)以加载较低的内容
    猜你喜欢
    • 2021-03-01
    • 2011-04-01
    • 2012-12-09
    • 2019-04-12
    • 1970-01-01
    • 2012-07-25
    • 2012-03-21
    • 2012-11-24
    相关资源
    最近更新 更多