正如在 YouTube 中看到的那样,当您在重定向之前单击 YT 链接时,它会预加载页面的布局,然后重定向它,这样您就不必查看布局项的加载方式。
我如何使用 JavaScript、PHP、HTTP、jQuery 或任何其他语言来制作它?
问问题
74 次
1 回答
2
我认为您并不真正了解 YouTube 幕后发生的事情。你看,模板/布局并不总是改变。数据总是在变化。它不加载布局(除非新页面具有不同的模板,例如发送消息或查看用户配置文件),而是从数据库中获取数据,然后使用 javascript 替换页面上的当前数据使用它刚刚获取的数据。它通过 AJAX 做到这一点。他们在后端使用 Python。
基本上......当您单击新视频的链接时会发生这种情况:
1) 你点击链接。
2) 一些 JavaScript 代码向服务器上处理请求的脚本发出 XMLHttpRequest。屏幕上会出现一个进度条。
3) 服务器上的脚本连接到数据库并获取信息……就像播放列表中的其他视频、评论、视频描述等。它通过向数据库提交查询来完成此操作。
4) 查询将信息返回给脚本,脚本依次组织信息并将其返回给 AJAX 请求(当然是异步的)。
5) JavaScript 接收它正在等待的信息并更新页面的 HTML。JavaScript 还在幕后做一些其他的事情,比如更新 URL 和浏览历史记录,以便您可以点击“返回”按钮并返回到您所在的上一页。(如果新请求页面的模板不同,JavaScript 将适当地重组页面的 HTML。)
于 2013-10-08T18:09:17.133 回答