요새 사이트 메인페이지에 동영상으로 gif처럼 넣고 싶은데, pc버전에서는 문제 없이 나오는데 모바일에서 열어보니 몇가지 문제점이 있었다.
먼저 구동하고 싶었던 모습은
- 페이지 오픈시 자동재생
- gif처럼 플레이어 안보이게 재생
우선 아이폰에서는 자체 동영상 플레이어로 넘어가는 현상을 보였다.
그걸 방지할 수 있는 코드
<video playsinline>
인라인으로(플레이어로 이동 또는 전체화면 모드로 넘어가지 않고) 재생이 된다.
video 태그 안에 'playinline' 넣어주면 끝( autoplay / loop / muted를 함께 써주면 자동재생되면서 전체화면으로 넘어가지 않음)
--------------------------
또는 동영상 재생이 문제가 있을 때 쓸 수 있는 방법
(동영상 대신 그때만 gif로 변경해주는 방법이다 )
HTML
<video autoplay loop muted playsinline>
<source src="image.mp4">
<source src="image.webm" onerror="fallback(parentNode)">
<img src="image.gif">
</video>
-video 태그 자식에 img 태그로 gif를 넣어준다.
JS
function fallback(video)
{
var img = video.querySelector('img');
if (img)
video.parentNode.replaceChild(img, video);
}
동영상재생의 문제가 있을 경우 gif를 실행시켜준다.
-------------------------------------
또는 플레이어로 넘어가 전체화면 플레이어가 될때 gif로 대체해주는 방법
HTML
<div id="either-gif-or-video">
<video src="image.mp4" autoplay loop muted playsinline></video>
<img src="image.gif">
</div>
CSS
#either-gif-or-video video { display: none; }
@media (-webkit-video-playable-inline) {
#either-gif-or-video img { display: none; }
#either-gif-or-video video { display: initial; }
}
css를 이용해 inline으로 재생이 가능할경우만 비디오를 보여준다.
(참고 출처 : https://webkit.org/blog/6784/new-video-policies-for-ios/ )
'퍼블리싱 > HTML&CSS' 카테고리의 다른 글
[CSS] 메인메뉴 이미지로 변경 & SNS 아이콘으로 (2) | 2020.04.03 |
---|---|
동영상<video> 배경색이 브라우저마다 다를때 (0) | 2020.03.30 |
웹 아이콘 사용하기(font awesome5 & google icon) (4) | 2020.03.17 |
[CSS]CSS가 안먹을때 해볼만한 것들 (4) | 2020.03.16 |
[CSS]div 3개 레이아웃 만들기( calc() 사용법) (0) | 2020.03.13 |