记录一个js判断视频url是否404方案
个人前端仅具备科班知识,用啥查啥的那种,这两天遇到这个问题暂做记录
需求:判断一个视频文件的url是否存在,存在确认url,不存在更换下一个清晰度的url。
问题:视频文件较大ajax不能通过get请求,需要考虑跨域问题jsonp,但get pass,考虑用head。这里有个小问题,需要请教下,我一开始用的jq ajax的head方法,在我本地的某个站点测试可以,但是在项目的本地站点测试会报跨域问题,是站点的jq版本问题么?没搞明白。最后用了下面方案判断是否404解决了问题。
// 校验url是否404
function UrlExists(url){
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
// 调用 3种清晰度
for(var i=3; i>0; i--){
var url=`https://xxx/xxxx_${i}.mp4`;
if(UrlExists(url)){
break;
}
}
csdn上看到的
blog.csdn.net/Aria_Miazzy/article/...
本作品采用《CC 协议》,转载必须注明作者和本文链接
你当前问题,换个思路,视频90%都用第三方CDN,如七牛 ,阿里oss,他们有接口判断是否存在。
我觉得你可以求助服务端的同学,让他们给你返回 视频url + 可切换的清晰度。