我有一个上传视频的页面,然后对这些视频进行编码(很像Youtube)。编码部分可能需要一些时间,我想通过定期轮询页面内的编码状态来自动向用户显示编码,如果编码完成我想用“播放”按钮替换编码图标以便用户可以播放视频。
因为上传的视频本身列表是使用AJAX(使用jQuery)放入DOM的,所以我无法理解如何执行此操作。我想为此使用jQuery,但我不知道jQuery是否可以做到这一点。
所以步骤如下
我的问题仅在第4步。服务器端部分也完成了。
答案 0 :(得分:2)
使用投票。设置一个间隔以每隔几秒轮询服务器(使用AJAX)以检查编码作业的状态。当服务器以“完成作业”响应时,更新DOM中的图标。
如果是我,我会让服务器端处理程序响应完成百分比(如果可能的话,它将取决于您的编码API)。
答案 1 :(得分:1)
如果问题是您不知道如何每隔X秒让页面轮询服务器,您可以使用setTimeout(函数,毫秒)和setInterval(函数,毫秒)使用javascript执行此操作。您将轮询代码放在函数定义中。
这是一个包含详细信息的article。
答案 2 :(得分:0)
感谢您对setInterval的回应,这对我来说非常有帮助。
我在jQuery的.get()调用的异步性质上遇到了另外一些问题,我在函数中调用了这个问题,然后根据.get()调用的结果,返回true / false。如果你调用一个异步函数,这是行不通的,至少我发现了。异步函数可以调用另一个函数,我用它来改变DOM。
我对此问题的最终解决方案如下。 它有点hackish并且Javascript不会优雅地降级,但代码适用于原型系统,并且只能在少数几台计算机的受控环境中使用,因此可以保证Javascript的启用。
关于我的代码:我始终显示编码图标和播放图标,但隐藏不相关的图标。播放图标是可点击的,并弹出视频。