Jumat, 9 Oktober 2026

UHUY News

Jurnalisme Terkurasi • Warta Nasional Aktual & Terpercaya

KILAT
Olahraga

Judul Berita

Tim Redaksi CNN Indonesia •
Bagikan: WA X
Judul Berita
Dokumentasi / Foto: CNN Indonesia

Search History //search const searchBox = document.querySelector('.search'); const searchBtn = document.querySelector('.search-btn'); const searchBtnclose = document.querySelector('.search-close') const overlay = document.querySelector('.overlay') const htmlTag = document.documentElement; const searchInput = document.getElementById('searchinput'); const searchList = document.querySelector('.search-list'); const searchSuggest = document.querySelector('.search-suggestion'); function disableScroll() { scrollTop = window.pageYOffset || document.documentElement.scrollTop; scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; window.onscroll = function () { window.scrollTo(scrollLeft, scrollTop); }; } function enableScroll() { window.onscroll = function () {}; } searchBtn.addEventListener("click", (e) => { searchBox.classList.add('search__active'); overlay.classList.remove('hidden'); htmlTag.classList.add('overflow-hidden'); disableScroll(); _pt(e.currentTarget); }) searchBtnclose.addEventListener("click", (e) => { searchBox.classList.remove('search__active'); overlay.classList.add('hidden'); htmlTag.classList.remove('overflow-hidden'); enableScroll(); _pt(e.currentTarget); }) overlay.addEventListener("click", (e) => { if (overlay.classList.contains("hidden")) { return } searchBox.classList.remove('search__active'); overlay.classList.add('hidden'); htmlTag.classList.remove('overflow-hidden'); enableScroll(); }) // Debounce utility function useDebounce(callback, delay) { let timer; return function (...args) { clearTimeout(timer); timer = setTimeout(() => callback(...args), delay); }; } // DOM elements const suggestionsContainer = document.getElementById('suggestions'); // Fetch suggestions from Google's Suggest API async function fetchSuggestions(query) { try { const response = await fetch( `https://suggestqueries.google.com/complete/search?client=firefox&q=${encodeURIComponent(query)}` ); const data = await response.json(); return data[1]; // Suggestions array } catch (error) { console.error('Error fetching suggestions:', error); return []; } } function highlightKeyword(keyword, str) { const regex = new RegExp(`(${keyword})`, "gi"); // Case-insensitive match return str.replace(regex, "$1"); } // Render suggestions function renderSuggestions(suggestions, query) { suggestionsContainer.innerHTML = ''; // Clear previous suggestions if (suggestions.length === 0) { return; } let suggestionList = "" suggestions.forEach((suggestion) => { suggestionList += ` ${highlightKeyword(query, suggestion)} ` }); suggestionsContainer.innerHTML = suggestionList } function fetchSuggestionsJSONP(query, callback) { const script = document.createElement('script'); const callbackName = `jsonpCallback_${Date.now()}`; script.src = `https://suggestqueries.google.com/complete/search?client=chrome&q=${encodeURIComponent(query)}&callback=${callbackName}`; window[callbackName] = function (data) { callback(data[1], query); // Pass suggestions to callback delete window[callbackName]; // Clean up document.body.removeChild(script); // Remove script tag }; script.onerror = function () { console.error('Error fetching JSONP suggestions'); delete window[callbackName]; document.body.removeChild(script); }; document.body.appendChild(script); } // Debounced input handler const handleInput = useDebounce(async (event) => { const query = event.target.value.trim(); event.preventDefault(); if (query.length === 0) { searchList.classList.remove('hidden'); searchSuggest.classList.add('hidden'); return; } else { searchList.classList.add('hidden'); searchSuggest.classList.remove('hidden'); } const safeQuery = encodeURIComponent(query.toLowerCase()); fetchSuggestionsJSONP(safeQuery, (suggestions, query) => { renderSuggestions(suggestions, query); }); }, 200); // debounce delay value searchInput.addEventListener('keyup', handleInput); function setSearchKeywords(keywords) { document.cookie = `lastSearchKeyword=${encodeURIComponent(JSON.stringify(keywords))}; path=/`; } function getSearchKeywords() { const cookies = document.cookie.split('; '); for (let cookie of cookies) { let [name, value] = cookie.split('='); if (name === 'lastSearchKeyword') { return JSON.parse(decodeURIComponent(value)); } } return []; } let searchHistoryCookie = getSearchKeywords() if (!Array.isArray(searchHistoryCookie)) { searchHistoryCookie = [] } let searchHistoryList = ""; if (searchHistoryCookie.length > 0) { for (let i = 0; i ${searchHistoryCookie[i]} `; } } const elLastSearch = document.getElementById("cnnSearchHistory"); elLastSearch.innerHTML = searchHistoryList; Loading... $(document).ready(function() { detikConnectAutoLogin('10027', false, onLoginClient); }); function onLoginClient (data){ $('.loader').remove() const dcUrl = 'https://connect.detik.com/dashboard/'; document.dispatchEvent(new CustomEvent('login:client', { detail: data })); if (data.is_login) { $('#connectDetikAvatar').css({'background-image': `url(${data.avatar})`, 'background-size': '100% auto'}); $('#dropdown').append(` ${data.first_name} ${data.last_name} Keluar `); iFrameResize({ log: false }, '#alloCardIframe') } else { const loginUrl = `https://connect.detik.com/oauth/authorize?clientId=10027&redirectUrl=https%3A%2F%2Fwww.cnnindonesia.com%2Fauthorize%3Fu%3Dhttps%3A%2F%2Fwww.cnnindonesia.com%2Folahraga%2F20261007174924-146-1412788%2Ffull-skuad-persija-geber-latihan-jelang-lawan-psim-di-super-league&backURL=https%3A%2F%2Fwww.cnnindonesia.com%2Folahraga%2F20261007174924-146-1412788%2Ffull-skuad-persija-geber-latihan-jelang-lawan-psim-di-super-league`; $('#dropdown').append(` Daftar Masuk `); } } .verticalThumbnail { width: 100%; top: 0; left: 0; bottom: 0; object-fit: cover; transition: opacity 0.3s ease-in-out; } .video-detail-panel-content { opacity: 0; transform: translateY(50px); transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1), opacity 500ms cubic-bezier(0.22, 1, 0.36, 1); will-change: transform, opacity; backface-visibility: hidden; } .video-detail-panel-content.is-shown { opacity: 1; transform: translateY(0); } 25 VIDEO Full Skuad, Persija Geber Latihan Jelang Lawan PSIM di Super League CNN Indonesia/Askar Fatih Robbani CNN Indonesia Rabu, 07 Okt 2026 18:11 WIB Pasukan lengkap, Persija Jakarta gelar latihan jelang melawan PSIM Yogyakarta pada lanjutan Super League 2026/2027.Latihan kali ini dihelat di Persija Training Ground, Bojongsari, Depok, Rabu (7/10).Dalam sesi latihan, pemain Persija, termasuk yang sempat membela Timnas Indonesia, sudah komplet.Super League 2026/2027 akan kembali bergulir usai jeda internasional.Persija bersiap menatap laga kontra PSIM Yogyakarta.Tim besutan Shin Tae Yong masih berada di jalur positif setelah menyapu bersih tiga laga awal dengan kemenangan.

Transparansi Jurnalisme & Hak Cipta Diverifikasi Resmi

Artikel ini disajikan kembali secara informatif oleh Uhuy News dari jaringan kantor berita CNN Indonesia. Hak kekayaan intelektual naskah dan materi foto sepenuhnya merupakan milik penerbit resmi terkait.

Warta Terkait Lainnya

Lihat Semua Berita →