/
jukij3
/
Rep
Обзор
Документация
Войти
/
jukij3
/
Rep
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
script.js
204 строки
7 KB
jukij3
Create: script.js
19 июн 2026, 18:13
Верифицирован
19 июн 2026, 18:13
e4c7f95
Код
Авторство
О чём код?
// //365d77a0 ключ // вариант 0// // const getMovieRequest=new XMLHttpRequest(); // //console.dir(getMovieRequest); // // getMovieRequest.addEventListener("readystatechange",()=>{ // // console.log(getMovieRequest.readyState); // // console.log(getMovieRequest.status);}); // getMovieRequest.open("GET","http://www.omdbapi.com/?t=Doctor who&y=2016&apikey=365d77a0"); // getMovieRequest.onreadystatechange=()=>{ // // console.log(getMovieRequest.readyState); // // console.log(getMovieRequest.status); // switch (getMovieRequest.readyState) { // case XMLHttpRequest.HEADERS_RECEIVED: // { // console.dir("HEADERS_RECEIVED"); // } // break; // case XMLHttpRequest.LOADING: // { // console.dir("LOADING"); // } // break; // case XMLHttpRequest.OPENED: // { // console.dir("OPENED"); // } // break; // case XMLHttpRequest.DONE: // { // console.dir("DONE"); // } // break; // default: // break; // } // if(getMovieRequest.readyState==4 && getMovieRequest.status==200) // { // console.dir(getMovieRequest.responseText); // } // } // getMovieRequest.send(); //вариант 1// // function getMovie() // { // const getMovieRequest=new XMLHttpRequest(); // let pic=document.getElementById("picture"); // getMovieRequest.open("GET","http://www.omdbapi.com/?t=Doctor who&y=2016&apikey=365d77a0"); // getMovieRequest.onreadystatechange=()=>{ // if(getMovieRequest.readyState==XMLHttpRequest.DONE) // { // switch (getMovieRequest.status) { // case 200: // { // const movieObj=JSON.parse(getMovieRequest.responseText); // pic.src=movieObj.Poster; // //console.log(movieObj.Poster); // } // break; // case 404: // { // console.dir("URL - error"); // } // break; // default: // break; // } // } // } // getMovieRequest.send(); // } // const movie=getMovie(); // param; year, title + str // console.dir(movie); //вариант 2// // const url = "http://www.omdbapi.com/?t=Doctor who&y=2016&apikey=365d77a0"; // async function loadMovie() { // try { // const response = await fetch(url); // if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); // const movie = await response.json(); // console.log(movie); // проверка в консоли // const movieDiv = document.getElementById("movie"); // movieDiv.innerHTML = ` // <h2>${movie.Title} (${movie.Year})</h2> // <p>Жанр: ${movie.Genre}</p> // <p>Рейтинг IMDB: ${movie.imdbRating}</p> // <img src="${movie.Poster}" alt="Постер ${movie.Title}"> // <p>${movie.Plot}</p> // `; // } catch (error) { // console.error("Ошибка:", error); // document.getElementById("movie").innerHTML = `<p style="color:red;">Ошибка при загрузке данных</p>`; // } // } // loadMovie(); // вариант 3// // const apiKey = "365d77a0"; // const searchBtn = document.getElementById("searchBtn"); // const movieTitleInput = document.getElementById("movieTitle"); // const movieDiv = document.getElementById("movie"); // async function fetchMovie(title) { // try { // const url = `https://www.omdbapi.com/?t=${encodeURIComponent(title)}&apikey=${apiKey}`; // const response = await fetch(url); // if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); // const movie = await response.json(); // if (movie.Response === "False") { // movieDiv.innerHTML = `<p style="color:red;">Фильм не найден</p>`; // return; // } // movieDiv.innerHTML = ` // <h2>${movie.Title} (${movie.Year})</h2> // <p><strong>Жанр:</strong> ${movie.Genre}</p> // <p><strong>Рейтинг IMDB:</strong> ${movie.imdbRating}</p> // <img src="${movie.Poster}" alt="Постер ${movie.Title}"> // <p>${movie.Plot}</p> // `; // } catch (error) { // console.error("Ошибка:", error); // movieDiv.innerHTML = `<p style="color:red;">Ошибка при загрузке данных</p>`; // } // } // searchBtn.addEventListener("click", () => { // const title = movieTitleInput.value.trim(); // if (title) { // movieDiv.innerHTML = `<p>Загружаем данные...</p>`; // fetchMovie(title); // } // }); // вариант 4// const apiKey = "365d77a0"; const searchBtn = document.getElementById("searchBtn"); const movieSearchInput = document.getElementById("movieSearch"); const moviesDiv = document.getElementById("movies"); async function searchMovies(keyword) { try { const url = `https://www.omdbapi.com/?s=${encodeURIComponent(keyword)}&apikey=${apiKey}`; const response = await fetch(url); if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); const data = await response.json(); if (data.Response === "False") { moviesDiv.innerHTML = `<p style="color:red;">Фильмы не найдены</p>`; return; } moviesDiv.innerHTML = ""; // Для каждого фильма делаем карточку data.Search.forEach(movie => { const card = document.createElement("div"); card.classList.add("movie-card"); card.innerHTML = ` <img src="${movie.Poster !== "N/A" ? movie.Poster : "https://via.placeholder.com/200x300?text=No+Poster"}" alt="Постер ${movie.Title}"> <h3>${movie.Title} (${movie.Year})</h3> <p>Тип: ${movie.Type}</p> `; moviesDiv.appendChild(card); }); } catch (error) { console.error("Ошибка:", error); moviesDiv.innerHTML = `<p style="color:red;">Ошибка при загрузке данных</p>`; } } searchBtn.addEventListener("click", () => { const keyword = movieSearchInput.value.trim(); if (keyword) { moviesDiv.innerHTML = `<p>Загружаем данные...</p>`; searchMovies(keyword); } }); movieSearchInput.addEventListener("keyup", (event) => { if (event.key === "Enter") searchBtn.click(); });