javascript - Javascript - HTML 视频 readyState DOM 未定义
问题描述
这是代码:
var meme = "";
meme += '<div class="videoWrapper" onclick="clickVideo(this);" style="max-width: calc(100% - 2px);">';
meme += '<video loop class="video" style="max-width: 100%;">';
meme += '<source src="" type="video/mp4" id="video-preview" />';
meme += '</video>';
meme += '<div class="gif_button" style="display: flex;">GIF</div>';
meme += '</div>';
$('#previewholder_area').empty();
$('#previewholder_area').html(meme);
$('#video-preview').attr('src', URL.createObjectURL(bla.files[0]));
var videoElement = document.getElementById("video-preview");
console.log('wth');
console.log(videoElement.readyState);
videoElement.addEventListener('loadeddata', (e) => {
console.log('hello?');
if(videoElement.readyState >= 3){
readURL(bla);
}
});
videoElement.addEventListener('error', (e) => {
//Video should now be loaded but we can add a second check
makeToast("Invalid Video Format!", "error", 4000);
reset_upload();
});
控制台只打印出:
wth
undefined
这里发生了什么?它昨天工作,视频仍然加载没有问题。从昨天开始我没有做任何改变。
addEventListener
什么都不loadeddata
做error
解决方案
在尝试了这个之后,它现在又是如何工作的:
var meme = "";
meme += '<div class="videoWrapper" onclick="clickVideo(this);" style="max-width: calc(100% - 2px);">';
meme += '<video loop class="video videopreview">';
meme += '<source src="" type="video/mp4" />';
meme += '</video>';
meme += '<div class="gif_button" style="display: flex;">GIF</div>';
meme += '</div>';
$('#previewholder_area').empty();
$('#previewholder_area').html(meme);
$('.videopreview source').attr('src', URL.createObjectURL(bla.files[0]));
const videoElement = $(".videopreview");
videoElement.get(0).addEventListener('loadeddata', (e) => {
if(videoElement.get(0).readyState >= 3){
readURL(bla);
}
});
videoElement.get(0).addEventListener('error', (e) => {
makeToast("Invalid Video Format!", "error", 4000);
reset_upload();
});
我不知道为什么它现在需要这样,为什么它直到昨天才以另一种方式工作
推荐阅读
- android - 如何使用HttpURLConnection从android发送请求参数到firebase云功能?
- c++ - 正交空间中的glm旋转
- r - 根据滞后(前)组排列/排序分组数据帧
- regex - Match url path and ip address from string
- c# - 检查 int 不等于特定值
- javascript - axios statusText 始终为空
- c++ - 使用 -shared LDFLAG 为 iOS (arm64) 编译 Clang - Exec 格式错误
- angular - 在新的 nx 工作区中创建自定义 .editorconfig、.eslintrc.json 和 .prettierrc
- java - 使用 spark 和 java 比较和突出两个数据帧的差异
- javascript - How to get values of dynamic/multiple fields on formsubmit with React?