Только что протестировано, видео IS на экране и загружено (html инспектор, сетевой трафик и caplay событие, вызванное видео, загруженным в DOM, может подтвердить это).
Если вы попытаетесь переключить вкладку, а затем вернетесь к вкладке vid, видео будет отображаться , но без элементов управления, хотя я могу воспроизвести его, вызвав событие.
Похоже, проблема Safari , вероятно, связана с его политиками безопасности.
ВИДЕО https://recordit.co/mdZ4J89CL8
CODE PEN JS
var htmlStr = `
<video id="myvideo" xmlns="http://www.w3.org/1999/xhtml" controls="">
<source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4"/>
Your browser does not support HTML5 video.
</video>`;
var doc = new DOMParser().parseFromString(htmlStr, "text/xml");
document.getElementById('test-vid').appendChild(doc.firstChild);
window.onclick = function(){
document.getElementById('myvideo').play();
}
document.getElementById('myvideo').addEventListener('canplay', function(){
console.log('canplay');
})
К сожалению, репозиторий Safari не является общедоступным, поэтому восстановить фиксированные и нефиксированные проблемы немного сложно, но я могу с уверенностью сказать, что ваш код правильный и В Safari есть ошибка (см. Противоречивое поведение выше при переключении вкладок).