#javascript #css #ios #safari #mobile-safari
#javascript #css #iOS #safari #мобильный-safari
Вопрос:
Я создаю тег video в javascript и использую canvas для отображения видео:
const canvas = document.getElementById('canvas');
const ctx2d = canvas.getContext('2d');
const videoElement = document.createElement('video');
videoElement.height = canvas.height;
videoElement.width = canvas.width;
videoElement.playsinline = "playsinline";
videoElement.setAttribute('webkit-playsinline', 'webkit-playsinline');
videoElement.src = '.....';
videoElement.autoplay = false;
videoElement.loop = false;
videoElement.muted = true;
videoElement.addEventListener('play', () => {
(function loop() {
if (videoElement amp;amp; !videoElement.paused amp;amp; !videoElement.ended) {
ctx2d.drawImage(videoElement, 0, 0, canvas.width, canvas.height);
setTimeout(loop, 1000 / 30); // drawing at 30fps
}
})();
});
Проблема в моем устройстве ios (iphone 11 — safari), когда я проигрываю видео, ios воспроизводит видео в новом окне (полноэкранный режим).
Что мне нужно сделать, чтобы решить эту проблему? есть ли здесь разработчики safari?
Это то, что я получаю при воспроизведении видео. полноэкранный режим safari.
Комментарии:
1. Это поведение safari по умолчанию, я не думаю, что вы можете это изменить.
2. пока у вас есть «playsinline», это должно работать. хотя я не знаю, что внутри холста
3. PS: если у вас более старая iOS, попробуйте webkit-playsinline
4. Я добавляю
webkit-playsinline
— все еще не работает.5. Я думаю, что если я создам тег video в js и воспроизведу видео, ios будет отображать полноэкранный режим, независимо от того, есть у меня canvas или нет.