javascript - HTML5 video.currentTime 仅对某些用户返回 NaN
问题描述
我有一个相当简单的 JS,它使用 AJAX 来跟踪用户在视频中的进度。这对数十个用户来说工作得很好,但有少数人偶尔根本不跟踪。
经过多方调查,我发现这是因为某种原因cur_time = Math.round(cvid.currrentTime);
正在返回NaN
。当这种情况发生时,它会在函数的每个间隔中发生。我无法在任何浏览器或我拥有的任何设备上自己重新创建错误,因此我无法检查控制台。
有谁知道为什么cvid.currentTime
不返回有效号码的任何原因,即使视频明显正确加载以便调用cvid.oncanplay
?
var interv;
var cvid = document.getElementById("cvideo");
cvid.oncanplay = function() {
interval_track();
};
function ajaxtrack(ended) {
var cur_time = Math.round(cvid.currrentTime);
$.ajax({
url: "/ce/inc/ajax.php?action=vid_track",
type: "POST",
async: false,
data: {
course_id: '<?=$course_id?>',
user_id: '<?=$user_id?>',
cur_time: cur_time,
ended: ended,
},
});
}
function interval_track() {
clearInterval(interv);
interv = setInterval(function() {
if (!cvid.paused) {
ajaxtrack();
}
}, 15000);
}
解决方案
推荐阅读
- android - 如何在片段中的 RecyclerView 适配器方法/对象中传递 String[] htmlFile 的引用
- java - 如何为多个按钮添加单个 actionListener 以将按下的按钮序列添加到 arrayList?
- python - 为什么分数实例变量在python中应该减少时没有减少
- node.js - 如何在 Putty 中关闭 node app.js 和
- sql - Redshift SQL WHERE 语句似乎没有正确过滤?
- yocto - 访问在 recepe 文件中的 shell 中导出的变量
- ios - Swift IOS 13,IAP - “无法连接到 Itunes Connect”
- groovy - Groovy @Grab NoClassDefFoundError: org/apache/ivy/plugins/resolver/DependencyResolver
- c++ - 重载向量求和中的移动赋值
- c# - 如果在 Angular 的每个 forEach 循环中结果都成功,想要调用 this.addDispatchToReceive 方法