javascript - 悬停时预加载视频
问题描述
我想在用户悬停链接时预加载视频。(该链接会将您带到一个新页面,并且视频不在带有链接的页面上)。目前,当用户单击链接时,视频加载前会有短暂的暂停 - 我想删除此暂停。当用户悬停链接时,似乎是下载视频的好机会,这样如果他们决定点击链接,他们的体验会更流畅。
缺点:用户可能不会点击链接,浪费带宽
优点:更流畅的体验
我尝试在目标页面的视频标签上使用预加载。这没有帮助。
我还尝试将视频嵌套在链接中,隐藏,将 preload 设置为 false,然后使用一些 JS 在悬停时将 preload 切换为 auto/true - 这不会提前下载文件 - 我认为是 DOM此时已经构建并且更改已被拾取。
的HTML:
<a class="preload" href="link.html">
<h4>Title</h4>
<p>Text</p>
<video class="hide" src="vid.mp4" preload="false">
</a>
JS:
$('.preload').mouseenter(function(){
var vid = this.childNodes[5];
vid.preload = true;
});
视频预加载更改为“真”(或“自动”),但在 Chrome 网络选项卡中,视频未下载。
那么 - 根据用户意图(悬停)预取该视频的好方法是什么 - 这是一个坏主意吗?我读过一些帖子说这对于从不点击链接的潜伏者来说可能是一种消耗!
解决方案
推荐阅读
- rust - 如何重构匹配臂内的 if 语句?
- windows - 使用批处理文件,如何重命名此文件?
- javascript - 如何将带有异步等待功能的承诺更改为可观察的?
- makefile - Makefile:模式规则作为第一规则
- regex - 行尾正则表达式 findstr 命令的 CMD 脚本返回代码不正确
- java - 在开发中的 docker 容器的卷中创建新图像或共享源代码?
- java - 编译时的泛型重载
- ruby-on-rails - 将 VueJS 时间输入传递给 Rails 输入
- django - [Django][AWS S3] botocore.exceptions.clienterror 调用 PutObject 操作时发生错误(访问被拒绝)
- ruby-on-rails - Rails 读取文件 Yomu gem - Psych::SyntaxError 异常 - 如何救援