Safari — это открытое новое окно, когда я проигрываю видео

#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 или нет.