遇到的问题
因为video加载有可能失败,因为使用videoLoadError方法处理视频加载失败的情况,结果却发现无论视频是否加载成功都会触发error事件对应的videoLoadError方法,后来又换了onload、onemptied等一系列方法,甚至click都试过了,结果发现依然会立刻触发。
源代码。
3、解决方案
3.1、重新设置onerror方法
依然用:error来绑定事件,实际上这里用别的事件,什么click、onload也一样,但是为了可读性和控制台不报错就毅然使用error事件。
先不给video设置src属性(因为之后会重新请求,现在不需要请求,减少向服务器的请求次数),然后给videoItem的fileName值作为每个video的id,并在idvideoLoadError传入videoItem对象,在触发了videoLoadError方法之后,根据id找到对应的video,然后重新设置onerror对应的方法。