我知道关于这件事有很多问题,但它们在不同的背景下。我在谷歌上搜索了很多遍,却找不到解决方案。我有一个WordPress页面,它使用http://www.infinite-scroll.com/进行分页。这个问题是众所周知的-当用户向下滚动到一些动态加载的内容并打开一个项目,然后按下按钮“后退”,以前加载的内容就不存在了。我希望用户使用相同的滚动位置显示相同的加载内容。
一个例子是这个- conleys.de。您可以尝试它-它不能通过页面url来管理它。
我感兴趣的是--如何使浏览器缓存所有加载的内容并加载缓存的页面,而不是在“后退”按钮上重新加载它。
发布于 2015-02-04 20:44:39
如果浏览器完全从历史加载动态生成的页面输出,而不再次运行页面生成,那么如果没有一些聪明的恶作剧来确定静态内容是否已经创建,这是很难实现的。
也许可以通过一些巧妙的浏览器cookie或会话数据来引导"BACK“页面加载本地版本,以及页面标题说明没有过期,页面内容必须是静态形式的HTML,而不是服务器端的PHP (如Wordpress )。
但是,要做出这一决定,代码需要是动态的,无限滚动中继到函数的javascript将需要非常小的改变,因为javascript函数只会激发页面创建,而不是页面创建。
总的来说,我认为实现你想要的目标所涉及的工作至少类似于绕街区跑,以避免在人行道/人行道上跨过一个相当小的水坑。
。。。
如果希望浏览器缓存页面,则将它们编写为静态页;如果希望浏览器回忆缓存的页面,而不调用无限滚动的页面中的更改,则最好通过PHP或其他形式远程创建页面,然后最终用户可以直接调用和加载静态HTML输出页,而不是通过一组PHP请求。
以及设置标题等..。
https://stackoverflow.com/questions/28330798
复制相似问题