Ответ 1
Вы можете использовать событие loadedmetadata
для определения глобальных переменных или использовать Element.dataset
для отражения начальных .videoWidth
, .videoHeight
свойств элемента <video>
; в timeupdate
событии <video>
изначально сохраненных и текущих событий .videoWidth
, .videoHeight
, если одно из свойств изменило функцию вызова
window.onload = function() {
function handleResolutionChange(event) {
// do stuff if `.videoWidth` or `.videoHeight` changed from initial value
}
var video = document.querySelector("video");
video.addEventListener("loadedmetadata", function(event) {
event.target.dataset.width = event.target.videoWidth;
event.target.dataset.height = event.target.videoHeight;
})
video.addEventListener("timeupdate", function(event) {
if (+event.target.dataset.width !== event.target.videoWidth
&& +event.target.dataset.height !== event.target.videoHeight) {
// call `handleResolutionChange` one or more times
// if `event.target` `.videoWidth` or `.videoHeight` changed
handleResolutionChange.call(event.target, event)
}
})
}