Písmenková auta aneb Letter Cars: Jedinečný počin Chrysleru, který má dodnes po celém světě desetitisíce fanoušků

přidejte názor

Znáte abecedu? Jak by ne! Ale někdejší marketingoví experti koncernu Chrysler Corporation ji znali také. A věděli, jak jednotlivá písmena využít! Uvedli na trh jedinečné, brutálně výkonné a neopakovatelné modely, které ztělesňovaly to nejlepší, co měl Chrysler k dispozici. Tento počin se později už neopakoval…

t let po konci války už byl americký automobilový průmysl zcela inovovaný. Těsně poválečný stav, kdy konverze ze zbrojní výroby zpět na velkosériovou produkci osobních a užitkových automobilů znamenala lehké „oprášení“ předválečných tvarů a techniky, byl ten tam. 

Počátkem padesátých let se naplno rozběhlo konkurenční prostředí, zejména mezi výrobci, neoficiálně sdruženými v takzvané „Velké trojce“, tedy General Motors, Ford Motor Company a Chrysler Corporation. Byla zde také řada nezávislých, kteří pro prudké vývojové akceleraci (bezprostředně po roce 1945) posléze zvolnili tempo. Velká trojka měla obří finanční a materiálové zázemí, a jakmile se její vývojová centra rozběhla, nemohli je například Hudson, Nash, Studebaker, Frazer, Rambler či Kaiser dostihnout.

Dobové video z roku 1957

Zdroj: Youtube.com

Poválečné souboje: kdo víc, kdo rychleji…

Ford (FoMoCo) a General Motors se zaobírali vlastními konkurenčními půtkami, z nichž legendárními se staly boje mezi Fordem a Chevroletem. Navzájem si neodpustili naprosto nic, co měl jeden, musel mít i druhý. Jen Ford Motor Company těžil z vlastnictví jedinečného vidlicového osmiválce. Takový agregát Chevroletu chyběl, přestože jej „Chevy“ zkoušel už od konce čtyřicátých let.

Ale pak tu byl Chrysler: myšlenkově pružný, s velkou potencí nových a revolučních idejí, bez skrupulí a také s mnoha významnými osobnostmi, které jeho výrobkům propůjčovaly punc neopakovatelnosti.

Když na podzim 1956 debutoval Chrysler 300C, byla to naprostá bomba. Štíhlá a vyzývavá karosérie patřila k tomu nejlepšímu, co Chrysler stvořil v celé své historii

Když na podzim 1956 debutoval Chrysler 300C, byla to naprostá bomba. Štíhlá a vyzývavá karosérie patřila k tomu nejlepšímu, co Chrysler stvořil v celé své historii

Autor: Chrysler Corporation

Vznik silniční rakety umožnila konstrukce motoru Hemi

Dnes už se asi nedá zjistit, kdo počátkem 50. let přišel s nápadem na vysokovýkonné vozidlo v klasické tříprostorové karosérii. Určitě se takový nápad zrodil během vývoje proslulých osmiválců s polokulovitými spalovacími prostory, tedy známými pod jednoznačnou zkratkou „Hemi“.

Motory typu Hemi byly v roce 1952 připravené a výrobce je už jen ladil a výkonově upravoval. Tím prvním legendárním byl V8 „Firepower“ s objemem 5 400 cm3. Už v roce 1953 pokusně jezdil pod kapotou běžného Chrysleru, a i když jeho výkony byly pozoruhodné, nic nenapovídalo, jaké silniční rakety se skrývají za obzorem budoucího času. V roce 1954 se podařilo dosáhnout výkonu 300 koní, což byla meta, kterou si Chrysler předsevzal. Tímto způsobem chtěl prezentovat nejsilnější sériový automobil Ameriky, vhodný jednak do populárních okruhových i dragstripových závodů, jednak do garáží velmi movitých Američanů.

V roce 1955 přichází C-300, později zvaný 300A

Při premiéře 10. února 1955 se těmto pozemním raketám ještě neříkalo „Letter Cars“ tedy „Písmenkové vozy“. Nový superrychlý model debutoval pod zkratkou C-300, kdy C se interpretovalo jako Coupé, 300 pak označovalo výkon v koních. Později výkonové parametry stále rostly, ale označení se ujalo, takže jej stratégové Chrysleru ponechali.

Tatra nezná bratra… Podívejte se, jak skvělá osobní auta vyráběli v Kopřivnici
Přečtěte si také:

Tatra nezná bratra… Podívejte se, jak skvělá osobní auta vyráběli v Kopřivnici

Nováček měl velmi střízlivou a až vcelku nenápadnou karosérii, vycházející z modelové řady New Yorker. Design je výsledkem jedinečného Virgila Exnera, ten mu dal i osobitý název „Forward Look“ – pohled vpřed. Elegantní kupé s úctyhodně dlouhou kapotou neslo na předním čele dva díly bohatě chromované mříže chladičové masky, která mohla někomu připomínat příď Volva Amazon. Mezi jednotlivými segmenty zářil rozměrný znak s číslicí 300 a grafickou zkratkou šachovnicového praporku. Každý tedy okamžitě věděl, s kým má tu čest…

Mohl C-300 suplovat Gran Turismo na amerických silnicích?

Chrysler šel při vývoji „třístovky“ zcela jinou cestou než později jeho divize Dodge a Plymouth či Ford a Chevrolet v šedesátých letech. Ti všichni dali na trh model v nejlevnějším provedení, se základní výbavou, ale doslova brutálním motorem. 

Celková délka bezmála 5 600 mm dává vyniknout téměř filigránské střešní nástavbě. Výrobce dodával kupé (na snímku) a kabriolety

Celková délka bezmála 5 600 mm dává vyniknout téměř filigránské střešní nástavbě. Výrobce dodával kupé (na snímku) a kabriolety

Autor: Chrysler Corporation

Chrysler stvořil sebevědomý a velmi luxusní model, vybavený prvotřídním agregátem, s nímž deklasoval až na několik vyrobených nebo dovezených supersportů cokoliv. Nabídl vytříbené pohodlí, maximální luxus, ale i ukázkové jízdní vlastnosti. Chrysler Corporation sáhl při jeho výrobě do regálů s tím nejdražším příslušenstvím, a skutečnost, že se ve stejnou dobu v roli samostatné značky profiloval superluxusní Imperial, nebyla náhodná. Později měly tyto samostatné koncernové větve společného víc, než by se zdálo.

Řada 300 byla mimořádně nákladnou záležitostí

Po dvou letech produkce „třístovek“ se tomuto premiérovému modelu začalo říkat 300A, přestože v typových listech nic takového nenajdeme. Vzhledem k tomu, že C-300 přišel na trh opožděně (v USA byly premiéry novinek vždy v podzimních termínech), měl zkrácený výrobní cyklus. Světlo světa spatřilo pouhých 1 725 exemplářů, základní cena každého činila 4 109 USD. 

Mercedes-Benz W108/109: první čistokrevná S-Klasse se představila před 60 lety
Přečtěte si také:

Mercedes-Benz W108/109: první čistokrevná S-Klasse se představila před 60 lety

Pro srovnání uveďme, že „běžný“ Chrysler Windsor (ale v porovnání s ostatní americkou produkcí pořád ještě značně nákladný model) stál v základu 2 660 USD, zatímco základní Ford Mainline ročníku 1956 přišel na 1 895 dolarů a nejlevnější Chevrolet typu „One-Fifty“ byl ještě o pětadvacet dolarů levnější než zmíněný Ford.

„Béčko“ vypadalo skoro stejně, ale přibylo stádo koní…

Počínaje následujícím modelovým rokem 1956 (který měl ovšem už premiéru na podzim 1955) Chrysler každoročně syntetizoval to nejlepší a nejdražší do řady, kterou pojmenoval následujícím písmenem v abecedě. Model 300B přinesl jen kosmeticky pozměněnou karosérii, kdy hlavní markanty přešly z předchozího ročníku. Elegantní karosérie s jemně naznačenými svislými záďovými ploutvemi vůbec nenapovídala, co je připraveno na příští premiéru.

Jednoduchá titulní strana reklamní tiskoviny nic neprozrazovala o potenci elegantního kupé. Řada 300 byla výsledkem několikaletého vývoje…

Jednoduchá titulní strana reklamní tiskoviny nic neprozrazovala o potenci elegantního kupé. Řada 300 byla výsledkem několikaletého vývoje…

Autor: Archiv Svatopluka Jíchy, se svolením

Pod kapotou to už ale hřmělo! Výkonný V8 Hemi dosáhl maxima 340 koní a v Americe nikdo z domácích výrobců nepřinesl tak obří výkonový a trakční potenciál. Za příplatek továrna nabízela dokonce verzi s výkonem až 355 koní. Motor měl sériové dva čtyřkomorové karburátory a automatickou převodovku s dvěma či třemi stupni, nebo alternativně přímo řazenou třístupňovou. Výrobní statistika se zastavila na 1 105 exemplářích.

Tvarový i výkonový průlom přinesl 300C!

Blesk z čistého nebe udeřil na podzim 1956. Po tříletém vývoji debutoval 300C s karosérií, kterou většina znalců pokládá za tu NEJ z celé série Letter Cars. „Třístovka“ si už od pohledu přestala hrát na neviňátko a domácího mazlíčka. 

Lichoběžníkový otvor chladičové masky měl krátkou stranu nahoře a tak tenká chromovaná žebra výplně, až se při některém úhlu pohledu zdálo, že na vás příď vozu řve naprosto nenávistná slova a nutí vás uklidit se z jízdního pruhu třeba k samotnému čertu! Podle pověstí si prý někteří lidé stěžovali, že mají z 300C podivné pocity a při spatření nekompromisní přídě ve zpětném zrcátku dokonce strach! Ale to je na 300C právě to fantastické! Tehdy se ještě výrobci nebáli, to přinesly až ty nové časy…

Nejen Mototechna: jak se kupovala auta v letech 1945 až 1989 (druhá část)
Přečtěte si také:

Nejen Mototechna: jak se kupovala auta v letech 1945 až 1989 (druhá část)

300C byl po všech stránkách famózním vozidlem: agregát dosáhl standardního výkonu 375 koní, jeho speciální provedení mělo výkonovou špičku 390 koní! Automatika TorqueFlite byla sériová, v tomto roce Chrysler poprvé přišel se svým proslulým předním odpružením zkrutnými tyčemi, které se znamenitě hodilo nejen na rodinné kočáry, ale i na přemotorovanou bestii.

Doplňkem nesmiřitelné přídě se stala čtveřice reflektorů, záď zdobily vysoké ploutve, které působily tím mohutněji, čím menší se zdála být střešní nástavba.
Chrysler svou sportovní špičku nabízel v pěti barevných odstínech, pro 300C se v provedení kupé rozhodlo 1 767 zájemců, dalších 484 zákazníků si připlatilo na convertible, tedy kabriolet.

Jedna ze stovek tiskových fotografií zpodobňuje nezaměnitelnou příď Chrysleru C-300, později neoficiálně nazývaného 300A

Jedna ze stovek tiskových fotografií zpodobňuje nezaměnitelnou příď Chrysleru C-300, později neoficiálně nazývaného 300A

Autor: Archiv Svatopluka Jíchy, se svolením

Proč inovovat tvary, které okouzlily?

Rok 1958 opět přinesl jen kosmetické změny. Výrobce patrně vyslyšel názory některých občanů a nepatrně upravil sklon jednotlivých chromovaných segmentů v masce, takže se otec rodiny za volantem plně naloženého sedanu nemusel obávat „řvoucí huby“ nebezpečného Chrysleru ve zpětném zrcátku.

Podívejme se pod kapotu 300D: najdeme tady mohutný V8 Hemi s objemem 6 400 cm3 a standardním výkonem 380 koní. Každoročně bylo zapotřebí přinést více síly, v modelovém roce 1958 toho Chrysler dosáhl zvýšeným kompresním poměrem, upraveným sáním a modifikovaným vačkovým hřídelem.

Neúspěšné koketování se vstřikováním paliva

Tou dobou už Evropa, ale i Amerika znaly nové kouzelné slovo: vstřikování paliva. V Evropě jej velmi úspěšně do série dovedl Daimler-Benz, v USA s ním experimentoval zejména Chevrolet. Ovšem Chrysler si pospíšil a v roce 1958 nabídl minisérii dvaceti kusů výkonného 300D, vybaveného elektronickým vstřikováním značky Bendix. Praxe ovšem byla zcela odlišná od zkušebního provozu, drahé vstřikovací „třístovky“ kolabovaly jedna za druhou a standardním postupem reklamačního řízení byla demontáž vstřikování Bendix Electrojector a jeho náhrada dvěma čtyřhrdlovými karburátory. Dneška se dožila pouze hrstka původních 300D Bendix.

BMW bez „ledvinek“? Existovalo! Jmenovalo se EMW a prozradíme vám, jakým „zázrakem“ se dostávalo do Československa
Přečtěte si také:

BMW bez „ledvinek“? Existovalo! Jmenovalo se EMW a prozradíme vám, jakým „zázrakem“ se dostávalo do Československa

Cena nového 300 jako obvykle a každoročně vzrostla, ale poptávka se rapidně snížila. Výrobce dodal zákazníkům jen 810 modelů, a to i přes bombastickou reklamu. V ní nechyběl dokument o rychlostním rekordu upraveného a odlehčeného 300D na bonnevillských solných pláních. Řvoucí 300D dosáhl rychlosti 255 km/h, sériový model ovšem neměl problém dosáhnout až 230 km/h, akcelerace na stovku pod osm sekund byla samozřejmostí…

300E přinesl pozoruhodné změny pod kapotou

Ročník 1959 přinesl malé změny na karosérii a velké novinky pod kapotou. Styling „třístovky“ se stále dobře prodával, třebaže za zdmi vývojového oddělení už existovaly uhlazené projekty, určené do let šedesátých. Výrobce se odhodlal pouze k úpravám nárazníků, detailů a ozdob, ale to hlavní bylo vidět po zvednutí rozměrné kapoty: Chrysler už od roku 1956 pracoval na novém V8, určeném pro nejdražší New Yorkery, maximálně luxusní Imperialy a také nový 300E. 

Agregát dostal honosný název Golden Lion (Zlatý lev), a skutečně i takovou sílu měl. Byl odlehčený, postavený podle nejnovějších poznatků, a z objemu 6 800 cm3 mobilizoval 380 koní. Třístupňová automatika TorqueFlite zůstala – co nezůstalo, to byl zájem kupujících. Ten se opět mírně propadl, u modelu s cenovkou bezmála 5 400 USD (kupé) a 5 750 USD (kabrio) evidoval koncern jen 690 závazných objednávek. Pod „třístovkou“ se začala otevírat propast. Jak to dopadne?

Ročník 1961 přinesl naposledy okřídlený styl Virgila Exnera. Chrysler 300 G si objednalo více než 1 600 zájemců, ale nejslavnější dny vysokovýkonných provedení byly sečtené…

Ročník 1961 přinesl naposledy okřídlený styl Virgila Exnera. Chrysler 300 G si objednalo více než 1 600 zájemců, ale nejslavnější dny vysokovýkonných provedení byly sečtené…

Autor: Archiv Svatopluka Jíchy, se svolením

Poslední modelový ročník 50. let měl vyšší odbyt, ale…

Na sklonku roku 1959 přišel nový 300F. Karosérie – a zejména příď – zaznamenaly první signály nové epochy: křídla dosáhla svého maxima a začínala už v polovině horní hrany dveří! Jejich ostré zakončení bylo symbolem pomalu odcházejícího „raketového“ věku. Virgil Exner se opravdu snažil. Otvor chladičové masky se značně rozšířil, ale to hlavní měl nový 300F skryté pod šatem. Chrysler Corporation se po dlouhém vývoji odvážila dát na trh samonosné karosérie pro Chryslerovy modelové řady včetně 300, rámová klasika zůstala vyhrazená královskému Imperialu.

Řada 300F je první s unifikovaným vzhledem celé palety velkých Chryslerů. Doposud byly „třístovky“ jasně rozeznatelné a tvořily tvarově samostatnou koncepci. Chrysler se podle pozdějších zpráv rozhodl maximálně ušetřit a omezit výdaje. Tvarovou exkluzivitu nejdražších kupé a kabrioletů asi považoval za zbytečnou…

Motorizaci 300F představoval už známý V8 Golden Lion v kombinaci se samočinnou převodovkou. Osádka mohla využívat klimatizaci, nejmodernější rádio (za příplatek i gramofon), elektrické ovládání oken či látkové střechy, ale i samočinné natáčení předních sedadel, aby se řidiči a dámě jeho srdce lépe vystupovalo. Zajímavou variantou se stala čtyřstupňová mechanická (ručně řazená) převodovka francouzské provenience Pont-a-Mousson. Ta se montovala i do francouzských Facel Vega s motory Chrysler V8. Podle soudobých zpráv ale měla jen malou životnost…

Prodeje ročníku 1960 lehce překročily 1 200 kusů, ale žádná velká sláva to nebyla. Nad řadou 300 stále visel otazník…

300G: poslední okřídlený – a s křídly mizí i sláva celé řady 300

Pak přišel ročník 1961 – pro nás poslední, kterým se budeme zabývat. Éra ploutví definitivně skončila – a třebaže je Cadillac i Imperial stále uchovávaly, móda se obracela jinam.

Skutečným „majstrštykem“ technické dovednosti se stal vidlicový osmiválec Golden Lion, určený pro nejdražší Chryslery a pohádkový Imperial. V roce 1961 měl výkon 380 koní!

Skutečným „majstrštykem“ technické dovednosti se stal vidlicový osmiválec Golden Lion, určený pro nejdražší Chryslery a pohádkový Imperial. V roce 1961 měl výkon 380 koní!

Autor: Archiv Svatopluka Jíchy, se svolením

300G zároveň přinesl další nový tvarový prvek: chladičová maska se opět rozšířila, ale Virgil Exner ji osadil opačně, tedy širší stranou lichoběžníku nahoru. Působila nyní trochu „usměvavě“, což z dnešního pohledu může vyvolat polemiku, zda to bylo nutné. Dvojice světlometů opustila vodorovnou linii a přišla v šikmém uspořádání – podobně jako dnes, kdy většina tváří vozidel více či méně připomíná Asijce.

Pod kapotou byl opět V8 Golden Lion s výkonem 380 koní a standardní automatikou TorqueFlite. Ale Chrysler přinesl jednu zajímavou novinku: na zvláštní objednávku dodával 300G s mechanickou třístupňovou převodovkou vlastní konstrukce. Takový model měl i lehce upravený motor, takže dosáhl výkonového maxima 400 koní!

Nová tvář zřejmě zapůsobila, Chrysler potvrdil odbyt 1617 exemplářů 300G.

V šedesátých letech už nepřišlo nic tak pozoruhodného

V zákulisí se ale vědělo, že někdejší výkladní skříň koncernu má naplánovaný odchod do historie, přesněji řečeno splynutí s řadou New Yorker. Šedesátá léta se nesla ve zcela jiném duchu, do módy přicházely levné modely s výkonnými pohonnými jednotkami. Obliba vozidel typu Gran Turismo v Americe nikdy nedominovala, přestože právě řada 300 k ní měla velmi blízko.

Chrysler 300B měl už v roce 1956 výkon 340 koní! Tím se okamžitě dostal na špičku nejen Chryslerovy nabídky, ale i sportovně-cestovních vozů americké provenience

Chrysler 300B měl už v roce 1956 výkon 340 koní! Tím se okamžitě dostal na špičku nejen Chryslerovy nabídky, ale i sportovně-cestovních vozů americké provenience

Autor: Archiv Svatopluka Jíchy, se svolením

Postupem dalších let se „třístovky“ opticky ztratily mezi ostatní produkcí, a třebaže měly vynikající agregáty, už dávno nešlo o exkluzivitu, vyhraženou jen několika stovkám zájemců. Řada 300 následně vystřídala písmena H, J, K a L, měla i výrobní pauzy, specialitou se stalo provedení Hurst ročníku 1970, ale to už byla jen labutí píseň.

Rozloučení pomyslným smeknutím klobouku nad řadou 300 i celou epochou
Mezi roky 1955 a 1961 Chrysler Corporation dodala zákazníkům 9 519 „třístovek“ a vyrobila ještě přibližně šedesát zkušebních modelů.

Letter Cars představovaly pokus o vytvoření zcela nového prodejního segmentu. Skutečnost, že zákazník na to reagoval svým způsobem, spadá plně na vrub nevyzpytatelných zákonitostí trhu.

Chryslery řady 300 budou už navěky patřit k tomu nejlepšímu, co americký autoprůmysl v 50. a 60. letech dokázal postavit na kola. Jejich dnešní ceny tomu plně odpovídají, jejich sláva je zcela zasloužená.

Zdroj: archiv autora, Chrysler (Stellantis)

  • Žádné názory
  • Našli jste v článku chybu?
'; 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'; } }
'; 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 »