如何在重定向到页面之前预先缓存页面?

时间:2013-10-08 18:02:35

标签: javascript http

如在YouTube中所见,当您在重定向之前单击YT链接时,它会预先加载页面布局,然后重定向它,以便您无需查看布局项目的加载方式。登记/> 如何使用JavaScript,PHP,HTTP,jQuery或任何其他语言进行此操作?

1 个答案:

答案 0 :(得分:2)

我认为你真的不明白YouTube幕后发生的事情。你看,模板/布局并不总是改变。数据总是在变化。它没有加载布局(除非新页面有不同的模板,例如发送消息或查看用户配置文件),它从数据库中获取数据然后使用javascript替换页面上的当前数据使用它刚获取的数据。它通过AJAX实现。他们在后端使用Python。

基本上......当您点击新视频的链接时会发生这种情况:

1)单击链接。

2)一些JavaScript代码对处理请求的服务器上的脚本进行XMLHttpRequest。屏幕上会出现一个进度条。

3)服务器上的脚本连接到数据库并抓取信息......就像播放列表中的其他视频,评论,视频描述等一样。它通过向数据库提交查询来完成此操作。

4)查询将信息返回给脚本,然后脚本将其组织起来并将其返回给AJAX请求(当然是异步的)。

5)JavaScript接收它正在等待的信息并更新页面的HTML。 JavaScript还会在幕后执行其他操作,例如更新URL和浏览历史记录,以便您可以点击“返回”按钮并返回到您所在的上一页。 (如果新请求的页面的模板不同,JavaScript将适当地重构页面的HTML。)