6 příznaků přechodu, které zhoršuje alkohol

25. 2. 2022

Sdílet

Autor: Depositphotos
Období ženského i mužského přechodu je plné hormonálních změn, které bývají doprovázeny nepříjemnými projevy a zdravotními problémy, například výkyvy nálad, návaly horka, nespavostí či přibíráním na váze. „K zintenzivnění těchto příznaků ve velké míře přispívá alkohol,“ popisuje gynekolog a sexuolog Pavel Turčan.

Alkohol je toxin, jenž dokáže v našem těle napáchat spoustu škod. Krátkodobě může zhoršit úsudek a motorické schopnosti, ještě horší jsou však zdravotní rizika, která přicházejí později. Navíc čím jsme starší, tím pomaleji náš organismus alkohol zpracovává. Na rizika spojená s konzumací alkoholu ve vyšším věku a speciálně v obchodí přechodu upozorňuje v tiskovém materiálu Firma Vegall Pharma a gynekolog a sexuolog Pavel Turčan.

Co se dozvíte v článku
  1. Přechod u žen a u mužů
  2. Pití alkoholu zhoršuje průběh přechodu u žen i u mužů
  3. Ženy v nevýhodě

Přechod u žen a u mužů

Ženské klimakterium (menopauza)

Období života, v němž postupně vyhasíná aktivita ženských pohlavních orgánů a dochází k výrazným hormonálním změnám, které jsou provázeny poklesem tvorby pohlavních hormonů. Ustane menstruace a žena přestává být plodnou. Změny jsou doprovázeny dalšími příznaky (návaly, pocení, bušení srdce, trávicí obtíže aj.) a psychickými potížemi (deprese, podrážděnost atd.). Častěji se projevují či začínají některé choroby (formy revmatismu aj.), stoupá výskyt srdečních a cévních chorob.

Mužské klimakterium (andropauza)

Má podobné příznaky jako přechod u žen, které jsou však velmi individuální. K nim se přidává pokles sexuální výkonnosti, sexuálního apetitu, případně i poruchy erekce.

Pití alkoholu zhoršuje průběh přechodu u žen i u mužů

Na vypití stejného množství alkoholu může naše tělo ve vyšším věku reagovat jinak než v mládí. „S přibývajícím věkem je pití alkoholu nebezpečnější. Ženy, ale i muži, kteří procházejí obdobím přechodu, by se měli kvůli zdravotním rizikům alkoholu raději vyhýbat. Suchý únor je sice prospěšná osvětová akce, ale zdravý životní styl související s omezením alkoholu by měl tímto měsícem nejen začít, ale také pokračovávat nadále,“ upozorňuje na zdravotní rizika lékař Pavel Turčan a popisuje, které projevy přechodu alkohol zhoršuje:

1. Spánek

Konzumace alkoholu přímo zhoršuje mnoho nepříjemných projevů, které k přechodu u mužů i žen patří. Například podle průzkumu z roku 2015, který se věnuje tématu poruch spánku v menopauze, je požívání alkoholu jedním z nejvýznamnějších faktorů, které snižují kvalitu spánku. Přitom spánek je důležitý pro dobrou psychickou pohodu, a když ho máme nedostatek, můžeme také přibírat na váze nebo se potýkat s kolísáním hladiny hormonů. „Nadměrné pití alkoholu může narušit spánkový režim, což snižuje schopnost těla produkovat testosteron. Mužům v andropauze hladina testosteronu v těle přirozeně klesá a dostatek kvalitního spánku je pro ně klíčový, protože tento hormon se nejvíce tvoří právě ve fázi hlubšího spánku,“ vysvětluje lékař.

2. Osteoporóza

Pití alkoholu snižuje aktivitu osteoblastů, tedy kostních buněk obnovujících kostní hmotu. Stejně tak alkohol v těle ovlivňuje hladinu vápníku či vitamínu D, které se na kvalitě kostí rovněž podílejí. Lidé, kteří alkohol pijí denně, tak mají nižší hustotu kostí než abstinenti. Přitom přirozeným projevem přechodu u mužů, a zejména u žen je osteoporóza. Jde o progresivní kostní poruchu, kdy dochází k úbytku kostní hmoty a kosti vlivem toho křehnou. Alkohol osteoporózu urychluje a prohlubuje, proto by se mu lidé v přechodu měli raději vyhýbat. Pití alkoholických nápojů však nejen zvyšuje riziko osteoporózy, ale zároveň může zvýšit riziko pádu a zlomenin, které jsou kvůli řídnutí kostí nebezpečnější.

3. Deprese

V přechodu dochází k prudkým změnám nálad, jež způsobuje hormonální nerovnováha. U žen i u mužů se projevuje podrážděností nebo naopak apatií, úzkostmi, či dokonce depresemi. Alkohol přitom může deprese spustit nebo prohloubit, proto je zvláště v období přechodu nebezpečný. Jak už bylo řečeno, alkohol narušuje i kvalitu našeho spánku a nedostatečný odpočinek pak depresivní a úzkostné stavy dále zhoršuje.

Test: Je to deprese?

Je to deprese?

4. Přibývání na váze

Během menopauzy i andropauzy – opět vlivem hormonální změny – dochází ke zpomalování metabolismu. Ve vyšším věku se tudíž běžně potýkáme s přibývající hmotností a musíme si více hlídat kalorický příjem, proto se konzumace alkoholických nápojů nedoporučuje. Alkohol má totiž vysoký obsah cukru, může zvýšit chuť k jídlu a snižuje zábrany. To může mít za následek větší konzumaci méně výživných potravin. „Alkohol v těle může ovlivňovat hormony, které nám hlásí pocit sytosti a vést tak k nezdravému přejídání. Zároveň zvyšuje hladinu kortizolu, jenž podporuje ukládání břišního tuku. Nadměrná konzumace alkoholu je navíc spojena s větším hromaděním viscerálního tuku, tedy tuku, který obklopuje vnitřní orgány a může vést k řadě vážných onemocnění,“ varuje Pavel Turčan s tím, že v neposlední řadě se lidé, kteří pijí alkohol, hůře motivují k fyzické aktivitě.

5. Kvalita pleti

Pokles tvorby estrogenu v menopauze zhoršuje kvalitu pleti, protože tento hormon stimuluje tvorbu kolagenu, jenž zajišťuje pružnost pokožky. Během prvních pěti let přechodu může žena kvůli snížené produkci estrogenu přijít téměř o třetinu obsahu kolagenu v pleti. Dochází k vysoušení kůže a pomalejší obnově kožních buněk. U žen i u mužů v přechodu dochází také ke ztrátě objemu vody v těle a schopnosti zadržovat vodu v pokožce. Naše pleť je poté vysušená a méně pružná. I tento projev přechodu zhoršuje alkohol, který naše tělo dehydratuje a kvalitu pokožky ještě více snižuje.

6. Návaly horka

Kolem tématu návalů horka, které jsou typickým projevem klimakteria u žen, panuje řada protichůdných názorů. Některé ženy tvrdí, že jim pití alkoholu od návalů horka dokonce ulevuje, protože rozšiřuje cévy. Naopak výzkum z roku 2009 prokázal, že každodenní konzumace alkoholu významně zvyšuje riziko návalů horka a obtěžujícího nočního pocení. Stejně tak se ukazuje, že pokud ženy prožívají návaly horka a nadměrné pocení i po menopauze, stojí za tím právě pití alkoholu. Například červené víno je považováno za jeden z nejčastějších spouštěčů těchto nepříjemných projevů.

Ženy v nevýhodě

Alkohol navíc nepůsobí na muže stejně jako na ženy, ty totiž mají obvykle nižší tělesnou hmotnost, a proto mají tendenci vstřebávat do krve mnohem více alkoholu než muži.

„Ženy mají menší množství alkoholdehydrogenázy, enzymu, který metabolizuje alkohol v žaludku. I to vede k tomu, že ženské tělo vstřebává do krevního oběhu mnohem více alkoholu než to mužské,“ vysvětluje lékař Pavel Turčan, proč je pro ženy alkohol nebezpečnější než pro muže.

Kromě omezení alkoholu pomůže projevy menopauzy i andropauzy mírnit též vyvážený jídelníček a pravidelný pohyb. Účinnou pomoc nabízejí podle lékaře rovněž kvalitní doplňky stravy s obsahem včelí mateří kašičky a dalších cenných látek. Tématu přechodu u žen i u mužů, možnostem prevence a léčby se věnujeme na Vitalia.cz podrobně v dalších článcích v sekci klimakterium a andropauza.

Odborná spolupráce:

MUDr. Pavel Turčan, Ph.D., FECSM

Odborný ženský lékař a sexuolog. Zaměřuje se mj. na problematiku menopauzy u žen a andropauzy u mužů. Působí v olomouckém Centru MEDIOL, v ordinaci sexuologie a andrologie.

Autor článku

Všeobecné dotazy, připomínky a tipy směřujte na adresu [email protected].

Tiskové zprávy zasílejte na e-mail [email protected].

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).
'; document.getElementById('outstream-iframe').onload = function () { setupIframe(); } replayScreen = document.getElementById('iinfoOutstreamReplay'); iinfoOutstreamPosition = document.getElementById('iinfoOutstreamPosition'); outstreamContainer = document.getElementsByClassName('outstream-container')[0]; setupReplayScreen(); } function setupIframe() { outstreamDocument = document.getElementById('outstream-iframe').contentWindow.document; let el = outstreamDocument.createElement('style'); outstreamDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:-5px;right:25px}"; videoContent = outstreamDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; if ( location.href.indexOf('rejstriky.finance.cz') !== -1 || location.href.indexOf('finance-rejstrik') !== -1 || location.href.indexOf('firmy.euro.cz') !== -1 || location.href.indexOf('euro-rejstrik') !== -1 || location.href.indexOf('/rejstrik/') !== -1 || location.href.indexOf('/rejstrik-firem/') !== -1) { outstreamDirectPlayed = true; soundAllowed = true; iinfoVastUrlIndex = 0; } if (!outstreamDirectPlayed) { console.log('OUTSTREAM direct'); setUpIMA(true); } else { if (soundAllowed) { const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('OUTSTREAM sound allowed'); setUpIMA(false); }).catch(function () { console.log('OUTSTREAM sound forbidden'); renderBanner(); }); } } else { renderBanner(); } } } function getWrapper() { let articleWrapper = document.querySelector('.rs-outstream-placeholder'); // Outstream Placeholder from RedSys manipulation if (articleWrapper && articleWrapper.style.display !== 'block') { articleWrapper.innerHTML = ""; articleWrapper.style.display = 'block'; } // Don't render OutStream on homepages if (articleWrapper === null) { if (document.querySelector('body.p-index')) { return null; } } if (articleWrapper === null) { articleWrapper = document.getElementById('iinfo-outstream'); } if (articleWrapper === null) { articleWrapper = document.querySelector('.layout-main__content .detail__article p:nth-of-type(6)'); } if (articleWrapper === null) { // Euro, Autobible, Zdravi articleWrapper = document.querySelector('.o-article .o-article__text p:nth-of-type(6)'); } if (articleWrapper === null) { articleWrapper = document.getElementById('sidebar'); } if (!articleWrapper) { console.error("Outstream wrapper of article was not found."); } return articleWrapper; } function setupDimensions() { outstreamWidth = Math.min(iinfoOutstreamPosition.offsetWidth, 480); outstreamHeight = Math.min(iinfoOutstreamPosition.offsetHeight, 320); } /** * Sets up IMA ad display container, ads loader, and makes an ad request. */ function setUpIMA(direct) { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); if (direct) { adsRequest.adTagUrl = directVast; console.log('Outstream DIRECT CAMPAING advert: ' + directVast); videoContent.muted = true; videoContent.volume = 0; outstreamDirectPlayed = true; } else { adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Outstream advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; } // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = outstreamWidth; // adsRequest.linearAdSlotHeight = outstreamHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function setupReplayScreen() { replayScreen.addEventListener('click', function () { iinfoOutstreamPosition.remove(); iinfoVastUrlIndex = 0; outstreamInit(); }); } /** * Sets the 'adContainer' div as the IMA ad display container. */ function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. outstreamDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( outstreamDocument.getElementById('adContainer'), videoContent); } function unmuteAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } } /** * Loads the video content and initializes IMA ad playback. */ function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(outstreamWidth, outstreamHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } /** * Handles the ad manager loading and sets ad event listeners. * @param { !google.ima.AdsManagerLoadedEvent } adsManagerLoadedEvent */ function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } /** * Handles actions taken in response to ad events. * @param { !google.ima.AdEvent } adEvent */ function onAdEvent(adEvent) { // Retrieve the ad from the event. Some events (for example, // ALL_ADS_COMPLETED) don't have ad object associated. const ad = adEvent.getAd(); console.log('Outstream event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: // This is the first event sent for an ad - it is possible to // determine whether the ad is a video ad or an overlay. if (!ad.isLinear()) { // Position AdDisplayContainer correctly for overlay. // Use ad.width and ad.height. videoContent.play(); } outstreamDocument.getElementById('adContainer').style.width = '100%'; outstreamDocument.getElementById('adContainer').style.maxWidth = '640px'; outstreamDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); // This event indicates the ad has started - the video player // can adjust the UI, for example display a pause button and // remaining time. if (ad.isLinear()) { // For a linear ad, a timer can be started to poll for // the remaining time. intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } outstreamDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (outstreamLastError === 303) { if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } } break; case google.ima.AdEvent.Type.COMPLETE: // This event indicates the ad has finished - the video player // can perform appropriate UI actions, such as removing the timer for // remaining time detection. if (ad.isLinear()) { clearInterval(intervalTimer); } if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } break; } } /** * Handles ad errors. * @param { !google.ima.AdErrorEvent } adErrorEvent */ function onAdError(adErrorEvent) { // Handle the error logging. console.log(adErrorEvent.getError()); outstreamLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { renderBanner(); } } function renderBanner() { if (isBanner) { console.log('Outstream: Render Banner'); iinfoOutstreamPosition.innerHTML = ""; iinfoOutstreamPosition.style.height = "330px"; iinfoOutstreamPosition.appendChild(bannerDiv); } else { console.log('Outstream: Banner is not set'); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoOutstreamPosition.remove(); outstreamInit(); } else { return false; } adVolume = 1; return true; } /** * Pauses video content and sets up ad UI. */ function onContentPauseRequested() { videoContent.pause(); // This function is where you should setup UI for showing ads (for example, // display ad timer countdown, disable seeking and more.) // setupUIForAds(); } /** * Resumes video content and removes ad UI. */ function onContentResumeRequested() { videoContent.play(); // This function is where you should ensure that your UI is ready // to play content. It is the responsibility of the Publisher to // implement this function when necessary. // setupUIForContent(); } function onActiveView() { if (outstreamContainer) { const containerOffset = outstreamContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (outstreamPaused) { adsManager.resume(); outstreamPaused = false; } return true; } else { if (!outstreamPaused) { adsManager.pause(); outstreamPaused = true; } } } return false; } let outstreamInitInterval; if (typeof cpexPackage !== "undefined") { outstreamInitInterval = setInterval(tryToInitializeOutstream, 100); } else { const wrapper = getWrapper(); if (wrapper) { let outstreamInitialized = false; window.addEventListener('scroll', () => { if (!outstreamInitialized) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { outstreamInit(); outstreamInitialized = true; } } }); } } function tryToInitializeOutstream() { const wrapper = getWrapper(); if (wrapper) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { if (cpexPackage.adserver.displayed) { clearInterval(outstreamInitInterval); outstreamInit(); } } } else { clearInterval(outstreamInitInterval); } } }
OSZAR »