let ifm = document.getElementById("frame_game"); let screenOverlay = document.getElementById("scroll"); let iosVer = checkIOS(); let ORIENTATION = window.innerWidth > window.innerHeight ? "Landscape" : "Portrait"; const IOS_REMOVE_HEIGHT = 60; const ANDROID_REMOVE_HEIGHT = 50; const DESKTOP_REMOVE_HEIGHT = 70; const LANDSCAPE_ORIENTATION = "Landscape"; const PORTRAIT_ORIENTATION = "Portrait"; const gamesWithoutHeaderArr = [ "bet_cl_649", "bet_cl_telebingo", "bet_cl_649_gift_pack", "bet_cl_649_gift", "bet_cl_tb_gift_pack", "bet_cl_tb_gift", "bet_cl_keno_gift", "bet_cl_keno2_gift", "bet_cl_777_gift", "bet_cl_536_gift", "bet_cl_420", "bet_speaker", "bet_iphone", "bet_mac", "bet_bingomingo", "bet_tv", "bet_lemon", "bet_luckyqueen", "bet_frutoboom", "bet_chukcha", "bet_cl_536", "bet_cl_keno", "bet_cl_keno2", "bet_ps5", "bet_cl_777", "bet_cl_4201", "bet_fruitnice", ]; //Массив куда добавлять игры для отключения шапки у них const cookies = document.cookie .split("; ") .filter((cookie) => cookie.includes("utm_")); const search = location.search.includes("utm_"); if (cookies.length !== 0 && !search) { const prevLink = ifm.src; const utms = cookies.join("&"); ifm.src = `${prevLink}&${utms}`; } function getCookies(name) { let matches = document.cookie.match( new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)" ) ); return matches ? decodeURIComponent(matches[1]) : "0"; } //Отрисовка фрейма с игрой function GameOnLoad() { $(document).ready(function () { $(ifm).css({ background: gameBg, }); if (iosVer && iosVer[0] === 12) { $("body").prop("style", "position: absolute!important"); } onRotateDevice(); $(".header").addClass("header_hidden"); paymentInit(); setTimeout(() => { onRotateDevice(); }, 500); }); let resizeTimeout; window.addEventListener("resize", (e) => { clearTimeout(resizeTimeout); resizeTimeout = setTimeout(onRotateDevice, 500); }); for (const eventName of [ "mouseup", "mousedown", "touchstart", "touchcancel", ]) { screenOverlay.addEventListener(eventName, (e) => e.stopPropagation()); } } // Платежный модуль function paymentInit() { window.addEventListener("message", (event) => { if (event.origin !== window.location.origin) return; const { type } = event.data; if (type === "BUY") { togglePaymentModal(true); } if (type === "CLOSE_MODAL") { console.log("CLOSE_MODAL received"); togglePaymentModal(false); } }); } function togglePaymentModal(isActive) { const paymentFrame = document.getElementById("payment-frame"); if (isActive) { paymentFrame.style.display = "block"; } else { paymentFrame.style.display = "none"; } } // End Платежный модуль // Resizer //Слушатель на поворот экрана function onRotateDevice() { handleMobileResize(); handleIframeResize(); } function isLandscapeOrientation() { return ( (window.screen.orientation && window.screen.orientation.type.includes("landscape")) || window.innerWidth > window.innerHeight ); } function handleMobileResize() { if (!isIos() && !isAndroid()) return; screenOverlay.style.display = "none"; // для теста на компе if (window.navigator.platform.toLowerCase().includes("win")) return; if (!isLandscapeOrientation()) return; screenOverlay.style.display = "block"; // для андройда подкидываем скрытый оверлей и touchnend. if (isAndroid()) { screenOverlay.style.opacity = "0"; screenOverlay.style.height = "100vh"; screenOverlay.addEventListener("touchend", requestFSAndroid, { passive: false, }); return; } if (isIos()) { // на айосе не обновляются значения screen.width и screen.height если перевернули экран. const height = window.screen.width; const visualAppHeight = window.visualViewport.height; // Тут оставляем на все, IOS странные штуки const offsetNotSafari = 20; if (height - offsetNotSafari > visualAppHeight) { screenOverlay.style.visibility = "visible"; window.scrollTo(0, 0); } else { screenOverlay.style.visibility = "hidden"; } } handleIframeResize(); } //Удаляет скролл у страницы (во фрейме скролл останется). function handleIframeResize() { if (checkMobileDevice()) { if (iosVer) { ifm.height = window.visualViewport.height; } else { ifm.height = window.visualViewport.height; } } else { ifm.height = document.documentElement.clientHeight - DESKTOP_REMOVE_HEIGHT; } } function requestFSAndroid(e) { e.preventDefault(); ifm.requestFullscreen().then(() => { screenOverlay.removeEventListener("touchend", requestFSAndroid); screenOverlay.style.display = "none"; }); } // End Resizer