Tom Cruise is back in 'Mission: Impossible — The Final Reckoning' official trailer (2025)

","id":"k99-cta"},"displayProperties":{},"localEdits":{"items":{}},"variants":{}}},{"collection":"features","type":"Common/ArcAd","props":{"collection":"features","type":"Common/ArcAd","id":"0ftQ2QjOqEoaWMG","contentConfig":{"contentService":"","contentConfigValues":{},"inherit":true},"customFields":{"adType":"1x1px","spacingBottomTablet":"none","debug":false,"spacingBottomMobile":"none","lazyLoad":false,"spacingBottomDesktop":"none","display":"all"},"displayProperties":{},"localEdits":{"items":{}},"variants":{}}},{"collection":"features","type":"Common/ArcAd","props":{"collection":"features","type":"Common/ArcAd","id":"0fGPDqkOqEoaWcc","contentConfig":{"contentService":"","contentConfigValues":{},"inherit":true},"customFields":{"adType":"970x90|970x250|728x90|320x50hp02","spacingBottomTablet":"none","debug":false,"spacingBottomMobile":"none","lazyLoad":false,"spacingBottomDesktop":"none","display":"all"},"displayProperties":{},"localEdits":{"items":{}},"variants":{}}}]},{"collection":"sections","props":{"collection":"sections","id":8},"children":[{"collection":"features","type":"@wpmedia/footer-block/footer","props":{"collection":"features","type":"@wpmedia/footer-block/footer","id":"0fM8ZYkOqEoaWy8","contentConfig":{"contentService":"","contentConfigValues":{},"inherit":true},"customFields":{"navigationConfig":{"contentService":"site-service-hierarchy","contentConfigValues":{"hierarchy":"footer-nav-bar"}}},"displayProperties":{},"localEdits":{"items":{}},"variants":{}}},{"collection":"features","type":"@wpmedia/htmlbox-block/htmlbox","props":{"collection":"features","type":"@wpmedia/htmlbox-block/htmlbox","id":"0fNWhvlOqEoaWb1","contentConfig":{"contentService":"","contentConfigValues":{},"inherit":true},"customFields":{"HTML":"

\n

\n

\n

© Cox Media Group. All Rights Reserved. By using this website, you accept the terms of our Visitor Agreement and Privacy Policy, and understand your options regarding Ad Choices. Learn about careers at Cox Media Group.

\n

\n

\nManage Cookie Preferences

\n

\n\n

\n Tom Cruise is back in 'Mission: Impossible — The Final Reckoning' official trailer (1)\n Portions of Content Provided by Rovi Corporation. © Rovi Corporation\n

\n

\n
","id":"rovi-footer"},"displayProperties":{},"localEdits":{},"variants":{}}}]}]};Fusion.spa=true;Fusion.spaEnabled=true;

Tom Cruise is back in 'Mission: Impossible — The Final Reckoning' official trailer (2)

Listen Live

Tom Cruise is back in 'Mission: Impossible — The Final Reckoning' official trailer (3)

Learn More

Share currently playing on Facebook (Opens a new window)

'; epArtistSong.innerHTML = artistAndSong; const epLearnMore = document.getElementById('ep-learnMore'); if (this.getCMGPPDetails('linkUrl')) { epLearnMore.setAttribute('href', this.getCMGPPDetails('linkUrl')); epLearnMore.classList.remove('hidden'); epLearnMore.onclick = function () { // send analytics data (onClick on react did not send, this does: do not move) self.args.dataLayerFn(self.args.analyticsEvent, { element: 'persistent', elementSubTitle: 'biography' }); }; } else { epLearnMore.setAttribute('href', this.getCMGPPDetails('linkUrl')); epLearnMore.classList.add('hidden'); } epTwitterShare.setAttribute('href', 'https://twitter.com/intent/tweet?text=' + encodeURIComponent(self.getShareText()) + '&url=' + self.args.stationURL + '/stream'); epBuyNow.setAttribute('href', this.getCMGPPDetails('buyLink')); if (this.getCMGPPDetails('buyLink')) epBuyNow.classList.remove('hidden');else epBuyNow.classList.add('hidden'); // Header Player const headerTitle = document.getElementById('headerSongTitle'); if (headerTitle) { if (headerTitle.innerHTML !== this.getCMGPPDetails('title')) headerTitle.innerHTML = this.getCMGPPDetails('title'); if (headerTitle.tagName === 'A') { if (this.getCMGPPDetails('linkUrl')) headerTitle.setAttribute('href', this.getCMGPPDetails('linkUrl'));else headerTitle.removeAttribute('href'); } } const headerArtist = document.getElementById('headerSongArtist'); if (headerArtist) { if (headerArtist.innerHTML !== this.getCMGPPDetails('artist')) headerArtist.innerHTML = this.getCMGPPDetails('artist'); if (headerArtist.tagName === 'A') { if (this.getCMGPPDetails('linkUrl')) headerArtist.setAttribute('href', this.getCMGPPDetails('linkUrl'));else headerArtist.removeAttribute('href'); } } }, headerPPButton: function () { const self = this; const headerButton = document.getElementById('header-play-button'); const toggleEventFn = function () { const persistentPlayerButton = headerButton.classList.contains('persistent-player-controls'); const playButton = headerButton.classList.contains('ui-icon-play'); const retryButton = headerButton.classList.contains('ui-icon-retry'); if (self.args.playerFallback) { window.open('https://player.streamguys.com/cmg/' + self.args.stationID + '/sgplayer/player.php', 'playerpopup', 'width=974,height=450,location=0,menubar=0,resizable=0,scrollbars=0,status=0,toolbar=0'); } else { window.fireEvent('TogglePlayer'); } // send analytics for play-interaction if (playButton || retryButton) { self.args.dataLayerFn(self.args.analyticsEvent, { element: persistentPlayerButton ? 'persistent' : 'header', elementSubTitle: playButton ? 'play' : 'retry' }); } }; headerButton.addEventListener('click', toggleEventFn); }, setUpEventListeners: function () { const self = this; window.addEventListener('ExpandPlayer', function () { /* istanbul ignore next */ self.expandPlayer(); }); const closePlayer = document.getElementById('player-close'); if (closePlayer) { closePlayer.addEventListener('click', function () { /* istanbul ignore next */ self.collapsePlayer(true, true); }); } const toggle = document.getElementById('playerToggle'); if (toggle) { toggle.addEventListener('click', function () { /* istanbul ignore next */ self.toggleExpand(true); }); } // toggle event for mobile only const ppDetails = document.getElementById('ppDetails'); if (ppDetails) { document.getElementById('ppDetails').addEventListener('click', function () { /* istanbul ignore next */ if (document.getElementById('playerToggle').offsetParent === null) { self.toggleExpand(true); } }); } const epLearnMore = document.getElementById('ep-learnMore'); /* istanbul ignore next */ epLearnMore.addEventListener('click', function () { self.collapsePlayer(); }); // toggle voting icons const toggleVotingIcons = document.querySelectorAll('.pp-toggle-voting'); for (let i = 0; i < toggleVotingIcons.length; ++i) { const toggleVotingIcon = toggleVotingIcons[i]; if (toggleVotingIcon) toggleVotingIcon.addEventListener('click', function (e) { self.toggleVote(e); }); } // toggle play/pause listener const togglePlayerButtons = document.querySelectorAll('.pp-toggle-play-pause'); for (let i = 0; i < togglePlayerButtons.length; ++i) { const togglePlayerButton = togglePlayerButtons[i]; if (togglePlayerButton) togglePlayerButton.addEventListener('click', function () { const persistentPlayerButton = togglePlayerButton.classList.contains('persistent-player-controls'); const playButton = togglePlayerButton.querySelectorAll('.ui-icon-play').length > 0 || togglePlayerButton.classList.contains('ui-icon-play'); const retryButton = togglePlayerButton.querySelectorAll('.ui-icon-retry').length > 0 || togglePlayerButton.classList.contains('ui-icon-retry'); if (self.args.playerFallback) { window.open('https://player.streamguys.com/cmg/' + self.args.stationID + '/sgplayer/player.php', 'playerpopup', 'width=974,height=450,location=0,menubar=0,resizable=0,scrollbars=0,status=0,toolbar=0'); } else { window.fireEvent('TogglePlayer'); } // send analytics for play-interaction if (playButton || retryButton) { self.args.dataLayerFn(self.args.analyticsEvent, { element: persistentPlayerButton ? 'persistent' : 'header', elementSubTitle: playButton ? 'play' : 'retry' }); } }); } ; // buy now listener window.addEventListener('BuyNow', function (event) { if (!historyId || historyId !== event.detail.id || !event.detail.linkUrl) return; self.setCMGPPDetails('buyLink', event.detail.linkUrl); self.updatePlayerInfo(); }); // lsp listener (music sites) let historyId; window.addEventListener('LSP', function (event) { const playerVoting = document.getElementById('player-voting'); const playerVotingExpanded = document.getElementById('player-voting_expanded'); const latest = event.detail.data.length && event.detail.data[0]; if (!latest) return; const newId = latest.isSong ? latest.id : null; if (historyId !== newId) self.setCMGPPDetails('buyLink', ''); if (latest.isSong) { let thumbnailUrl = self.args.stationLogoSmall; if (latest.artists.length && latest.artists[0].metadata && latest.artists[0].metadata.thumbnailUrl) { thumbnailUrl = latest.artists[0].metadata.thumbnailUrl; } let epImageUrl = latest.artists.length && latest.artists[0].metadata && latest.artists[0].metadata.mediumImageUrl ? latest.artists[0].metadata.mediumImageUrl : self.args.stationLogo; const fetchTivoImageBinary = (variable, url) => { function arrayBufferToBase64(buffer) { let binary = ''; const bytes = new Uint8Array(buffer); const len = bytes.byteLength; for (let i = 0; i < len; i += 1) { binary += String.fromCharCode(bytes[i]); } return window.btoa(binary); } const headers = new Headers({ 'x-tmm-keyid': 'TAC1003', 'x-tmm-apikey': event.detail.TIVO_API_KEY }); const options = { method: 'GET', headers: headers, mode: 'cors' }; const promise = fetch(url, options).then(response => { const buffer = response.arrayBuffer(); return buffer; }).then(buffer => { const b64encoded = arrayBufferToBase64(buffer); const data = `data:image/jpeg;base64, ${b64encoded}`; self.setCMGPPDetails(variable, data); }); return promise; }; if (thumbnailUrl !== self.args.stationLogoSmall && epImageUrl !== self.args.stationLogo && !thumbnailUrl.includes('cps-static') && !!event.detail.TIVO_API_KEY) { const thumbnailPromise = fetchTivoImageBinary('thumbnailUrl', thumbnailUrl); const epImagePromise = fetchTivoImageBinary('largeImageUrl', epImageUrl); Promise.any([thumbnailPromise, epImagePromise]); } else { self.setCMGPPDetails('thumbnailUrl', thumbnailUrl); self.setCMGPPDetails('largeImageUrl', epImageUrl); } // song info is injected by StreamGuys const sgTitle = document.getElementById('songTitle'); const sgArtist = document.getElementById('songArtist'); const sgAlbum = document.getElementById('songAlbum'); let albumTitle = ''; if (sgAlbum) { const titleMatch = sgTitle && sgTitle.innerHTML.toLowerCase() === latest.title.toLowerCase(); const artistMatch = sgArtist && sgArtist.innerHTML.toLowerCase() === latest.artist.toLowerCase(); if (titleMatch && artistMatch) { // use the streamguys provided album if the title and artist match albumTitle = sgAlbum.innerHTML; } else if (historyId === newId) { // don't change the currently displayed album name if lsp has not updated albumTitle = self.getCMGPPDetails('albumTitle'); } } self.setCMGPPDetails('albumTitle', albumTitle); self.setCMGPPDetails('largeImageAlt', latest.artists.length && latest.artists[0].metadata && latest.artists[0].metadata.mediumImageUrl ? latest.artist : self.args.stationTitle); self.setCMGPPDetails('artist', latest.artist); self.setCMGPPDetails('title', latest.title); if (latest.artists[0]) { self.setCMGPPDetails('linkUrl', '/lsp/artist/bio/' + latest.artists[0].slug + '/'); } else { self.setCMGPPDetails('linkUrl', ''); } playerVoting.classList.remove('hidden'); playerVotingExpanded.classList.remove('hidden'); } else { self.setCMGPPDetails('thumbnailUrl', self.args.stationLogoSmall); self.setCMGPPDetails('largeImageUrl', self.args.stationLogo); self.setCMGPPDetails('largeImageAlt', self.args.stationTitle); self.setCMGPPDetails('artist', self.args.stationStatement); self.setCMGPPDetails('title', self.args.stationTitle); self.setCMGPPDetails('albumTitle', ''); self.setCMGPPDetails('linkUrl', ''); playerVoting.classList.add('hidden'); playerVotingExpanded.classList.add('hidden'); } // fire the event after we've already done all of our processing to avoid data mutation side-effects const detail = { type: 'LSP', data: event.detail }; window.fireEvent(self.args.type, detail); historyId = newId; self.updatePlayerInfo(); }); // scheduler listener (newstalk) window.addEventListener('Scheduler', function (event) { const data = {}; if (event.detail.current) { const current = event.detail.current; data.thumbnailUrl = self.args.stationLogoSmall; if (current.images && current.images.square) { data.thumbnailUrl = current.images.square; } if (current.images && current.images.lowres) { data.largeImageUrl = current.images.lowres; data.largeImageAlt = current.title; } else { data.largeImageUrl = self.args.stationLogo; data.largeImageAlt = self.args.stationTitle; } data.artist = current.showtime; data.title = current.title; data.linkUrl = current.url; } else { data.thumbnailUrl = self.args.stationLogoSmall; data.largeImageUrl = self.args.stationLogo; data.largeImageAlt = self.args.stationTitle; data.artist = self.args.stationStatement; data.title = self.args.stationTitle; data.linkUrl = ''; } // exceptions if (self.args.stationURL === 'https://www.theboneonline.com') { data.linkUrl = '/bonetv'; } // send the normalized data to other components const detail = { type: 'Scheduler', data: { image: data.largeImageUrl, imageAlt: data.largeImageAlt, title: data.title, time: data.artist, url: data.linkUrl, original: event.detail } }; window.fireEvent(self.args.type, detail); // only update the persistent player info if this is not a music site if (!self.args.isMusicSite) { Object.keys(data).forEach(function (key) { self.setCMGPPDetails(key, data[key]); }); self.updatePlayerInfo(); } }); // modal button listeners const modal = document.getElementById('player-retry-modal'); if (modal) { const closeModal = document.getElementById('closeModal'); if (closeModal) closeModal.addEventListener('click', function () { modal.classList.add('hidden'); document.body.classList.remove('locked'); }); const retryButton = document.getElementById('retryPlay'); if (retryButton) retryButton.addEventListener('click', function () { self.args.dataLayerFn(self.args.analyticsEvent, { element: 'retry modal', elementSubTitle: 'retry' }); modal.classList.add('hidden'); document.body.classList.remove('locked'); window.fireEvent('TogglePlayer'); }); } ; // adjust persistent player volume const volumeButton = document.getElementById("volumeButton"); if (volumeButton) { volumeButton.oninput = function () { const playerControls = document.getElementById('playerControls'); const playerControlsStyle = getComputedStyle(playerControls); const backgroundColor = self.args.isMusicSite ? 'white' : playerControlsStyle.backgroundColor; this.style.background = 'linear-gradient(to right, ' + backgroundColor + ' 0%, ' + backgroundColor + ' ' + this.value + '%, #afafaf ' + this.value + '%, #afafaf 100%)'; const newVolume = event.target.value / 100; _sgplayer.setVol(_sgplayer.audioElement, newVolume); }; } }, init: function (type, isMusicSite, stationTitle, stationStatement, stationLogoSmall, stationLogo, stationURL, facebookAppID, playerFallback, stationID, analyticsEvent, dataLayerFn) { this.player = document.getElementById('persistent-player'); if (!this.player) return null; this.data.thumbnailUrl = stationLogoSmall; this.data.largeImageUrl = stationLogo; this.data.largeImageAlt = stationTitle; this.args = { type, isMusicSite, stationTitle, stationStatement, stationLogoSmall, stationLogo, stationURL, facebookAppID, playerFallback, stationID, analyticsEvent, dataLayerFn }; this.setUpFacebookShare(facebookAppID); this.setUpEventListeners(); return; } };});

Tom Cruise is back in 'Mission: Impossible — The Final Reckoning' official trailer (2025)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Laurine Ryan

Last Updated:

Views: 5612

Rating: 4.7 / 5 (57 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Laurine Ryan

Birthday: 1994-12-23

Address: Suite 751 871 Lissette Throughway, West Kittie, NH 41603

Phone: +2366831109631

Job: Sales Producer

Hobby: Creative writing, Motor sports, Do it yourself, Skateboarding, Coffee roasting, Calligraphy, Stand-up comedy

Introduction: My name is Laurine Ryan, I am a adorable, fair, graceful, spotless, gorgeous, homely, cooperative person who loves writing and wants to share my knowledge and understanding with you.