У меня есть js, который не работает ни в одном браузере, кроме хрома? Может быть, функция .keydown создает проблемы. Существует фрагмент кода. Он создается как интерактивное видео, и когда нажата клавиша, должен появляться другой слой видео..keypress не работает в браузерах (кроме хрома)
var videos = document.querySelectorAll("video");
var promises = Promise.all(Array.prototype.slice.call(videos).map(function(video) {
return new Promise(function(resolve, reject) {
video.addEventListener("canplaythrough", resolve);
video.addEventListener("error", reject);
})
}))
.then(function() {
videos.forEach(function(video) {
video.play();
});
videos[2].style.display = "none";
document.addEventListener("keydown", function(e) {
var key = e.key;
if (key === "b" || key === "B") {
videos[2].style.display = "block";
videos[1].style.display = "none";
videos[0].style.display = "none";
}
});
videos[1].style.display = "none";
document.addEventListener("keydown", function(e) {
var key = e.key;
if (key === "a" || key === "A") {
videos[2].style.display = "none";
videos[1].style.display = "block";
videos[0].style.display = "none";
}
});
document.addEventListener("keyup", function(e) {
videos[2].style.display = "none";
videos[1].style.display = "none";
videos[0].style.display = "block";
});
window.focus();
})
.catch(function(err) {
console.log(err);
});
Браузер не допускает ошибок. И я не знаю, куда идти дальше. Есть идеи?
HTML:
<html>
<head>
<body bgcolor="#00">
<center><img src="head.png" alt="Head"></center>
</head>
<style>
video {
position: absolute;
left: 12vw;
}
.full-frame {
width:75%%;
height:75%
}
</style>
<br><br>
<div id="video"; overflow: hidden">
<video src="1.mov" style="width: 75%; height: 75%;" autoplay loop></video>
<video src="2.mov" style="width: 75%; height: 75%;" autoplay loop></video>
<video src="3.mov" style="width: 75%; height: 75%;" autoplay loop></video>
</div>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
Это, похоже, не помогает. Должен ли я заменить что-нибудь еще? – Aljosa
Я думаю, проблема связана со стилями, а не со сценарием –
– Aljosa