jquery - 优化网页视频加载

标签 jquery html5-video lazy-loading single-page-application fullpage.js

我有一个单页应用程序,其中每个部分包含多个视频标签。窗口的高度是截面的高度。每个标签都有不同的MP4格式的视频。我想快速加载这些视频而不影响页面加载时间,所以我尝试使用 jquery 通过延迟加载来加载。但问题是视频文件大小为 5MB,加载需要时间。是否有任何其他可能的方式在页面加载时加载我的第一部分视频并在页面加载完成后休息或作为后台进程而不向用户显示。

我正在为我的单页应用程序使用全页 js。它具有延迟加载的 future ,我正在使用它来加载我的视频内容。正如我之前所说,每个视频的文件大小为 5Mb。这是我的单页应用程序中使用的代码。

<video>
  <source data-src="video.mp4" type="video/mp4" />
</video>

最佳答案

我通过每个元素的延迟加载来完成此类任务。为此,您可以使用 jQuery.LazyAV plugin ,来处理此类标签。这很容易实现。

而不是原来的 video 标签:

<video>
  <source data-src="video.mp4" type="video/mp4" />
</video>

您将其更改为:

<video data-src="video.mp4|video/mp4"></video>

或者另一种写法:

<video>
  <data-src src="video.mp4" type="video/mp4"></data-src>
</video>

然后将两个脚本文件添加到您的文档中:

<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.lazy/1.7.5/jquery.lazy.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.lazy/1.7.5/plugins/jquery.lazy.av.min.js"></script>

然后在您的页面中初始化插件:

<script type="text/javascript">
jQuery(function($) {
    $("video").lazy();
});
</script>

仅此而已。当用户到达视口(viewport)时将加载视频。您可以通过播放加载动画或其他内容来更进一步。

关于jquery - 优化网页视频加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44740336/

相关文章:

jquery - 如何正确使用 fullpage.js 的 onLeave() 函数?

c# - 通过 Web API 2 流式传输视频内容

ios - 在 ScrollView 中延迟加载图像似乎会增加内存

javascript - 滚动后 jquery 动画的长时间延迟

javascript - 如何选择 BUTTON 元素旁边的 DIV 元素

jquery - 如何从 MVC 站点上的 Web 用户获取屏幕截图/屏幕捕获?

HTML5 视频播放局域网

android - 在 Android 4.1.2 上触发全屏视频播放

c# - Entity Framework 、SQLite 和延迟加载

import - 带有 Babel 延迟加载模块的 Webpack 使用 ES6 推荐的 Import() 方法不起作用