javascript vimeo thumbnail (자바스크립트로 비메오 썸네일 가져오기)
vimeo-thumbnail.zip
0.00MB
이번에는 vimeo(비메오) 썸네일 가져오기이다.
비메오는 json를 통해서 불러온다.
html (bootstrap)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vimeo Thumbnail</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <link rel="stylesheet" href="style.css" /> </head> <body> <div class="container"> <h1 class="text-center text-info m-5">Vimeo Thumbnail</h1> <hr /> <div class="form-group mt-5"> <label for="vimeoId">Vimeo URL</label> <input type="text" class="form-control m-3 vimeo-url" /> <input type="text" class="form-control m-3 vimeo-url" /> <input type="text" class="form-control m-3 vimeo-url" /> <input type="text" class="form-control m-3 vimeo-url" /> <input type="text" class="form-control m-3 vimeo-url" /> <button class="btn btn-primary btn-block mt-3" id="getBtn">Get Thumbnail</button> </div> <div class="thumbnail-wrap"> </div> </div> <script src="app.js"></script> </body> </html>
js
const getButton = document.querySelector("#getBtn"); const youtubeUrl = document.querySelectorAll(".vimeo-url"); const thumbnailWrap = document.querySelector(".thumbnail-wrap"); let thumArr = []; getButton.addEventListener('click', getThum); function getThum() { youtubeUrl.forEach(url => { if (url.value !== "") { let replaceUrl = url.value; let finUrl = ''; let xhr = new XMLHttpRequest(); replaceUrl = replaceUrl.replace("https://vimeo.com/", ''); replaceUrl = replaceUrl.replace("https://player.vimeo.com/video/", ''); replaceUrl = replaceUrl.replace("?autoplay=", '&'); finUrl = replaceUrl.split('&')[0]; xhr.open('GET', `https://vimeo.com/api/v2/video/${finUrl}.json`); xhr.send(); xhr.onload = function () { if (xhr.status >= 200 && xhr.status < 300) { let vimeoThumb = JSON.parse(xhr.response)[0].thumbnail_large; let thumbUrl = vimeoThumb; thumArr.push(thumbUrl); } else { console.log('The request failed!'); } }; } }); thumArr.forEach(thum => { let img = document.createElement("img"); img.setAttribute("src", `${thum}`) thumbnailWrap.appendChild(img); }); };
css
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@200,400&display=swap"); * { box-sizing: border-box; } body { font-family: "Poppins", sans-serif; margin: 0; } img { width: 100%; margin: 30px 0; }

'ETC > Sample' 카테고리의 다른 글
javascript snow (눈내리는 효과) (0) | 2021.04.16 |
---|---|
javascript metronome (자바스크립트 메트로놈) (0) | 2021.04.14 |
javascript youtube thumbnail (자바스크립트로 유튜브 썸네일 가져오기) (0) | 2021.04.11 |
javascript < > 를 < >로 변환 (0) | 2021.03.05 |
javascript todo list (0) | 2021.01.05 |
댓글
이 글 공유하기
다른 글
-
javascript snow (눈내리는 효과)
javascript snow (눈내리는 효과)
2021.04.16 -
javascript metronome (자바스크립트 메트로놈)
javascript metronome (자바스크립트 메트로놈)
2021.04.14 -
javascript youtube thumbnail (자바스크립트로 유튜브 썸네일 가져오기)
javascript youtube thumbnail (자바스크립트로 유튜브 썸네일 가져오기)
2021.04.11 -
javascript < > 를 < >로 변환
javascript < > 를 < >로 변환
2021.03.05
댓글을 사용할 수 없습니다.