猿问

如果 URL 在浏览器上包含视频或音频,如何使用 javascript 检查?

我正在尝试使用这两个简单的函数来检查 URL 是否包含音频或视频:


        //For video

        var video = document.createElement("video");

        video.setAttribute("src", url);

        video.addEventListener("canplay", function() {

            console.log("video true");

        });

        video.addEventListener("error", function() {

            console.log("video false");

        });


        //For audio

        var audio = new Audio();

        audio.setAttribute("src", url);

        audio.addEventListener("canplay", function() {

            console.log("audio true");

        });

        audio.addEventListener("error", function() {

            console.log("audio false");

        });

问题是它们都为有效的音频和视频 URL 返回 true,解决方案是什么?


叮当猫咪
浏览 279回答 1
1回答

森栏

所以经过深入研究,我发现(在 HTML 中)音频实际上是一个没有尺寸的视频,所以你可以简单地使用这个:var video = document.createElement("video");video.setAttribute("src", url);video.addEventListener("canplay", function() {    console.log("video true");    console.log(video.videoHeight);});video.addEventListener("error", function() {    console.log("video false");});//audio => video true//         0//video => video true//         1080
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答