Apesar do interesse de clubes brasileiros, o destino de Rony deverá ser fora do país. Segundo o “Uol”, o Palmeiras acertou a venda do atacante para o Al Rayyan, do Catar, time comandado por Artur Jorge.

A negociação avançou nesta quarta-feira e o atleta deverá viajar em breve para realizar os exames médicos. No momento, as partes correm para fechar os trâmites antes do fechamento da janela, no sábado.

Banner Responsivo

googletag.cmd.push(function()
{ googletag.defineSlot(‘/183758631/Magazine_Banner_TopSticky’, [325, 50], ‘div-gpt-ad-1585579251501-10’).
addService(googletag.pubads());
googletag.enableServices();
googletag.display(‘div-gpt-ad-1585579251501-10’); });

.stream-item {
z-index: auto !important;
}

Ad Insert

Medicamentos a preços especiais!

Promoção Especial

#video-ad-container-mobile {
position: relative;
display: flex;
margin: 0 auto;
z-index: 999999!important;
}

.post-content.container-wrapper {
padding: 0 !important;
position: relative !important;
z-index: 100 !important;
}

.container {
position: relative;
width: 100%;
height: 100%;
}

.mobile-video-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}

.ad-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}

.mobile-video-content {
width: 100%;
height: 100%;
object-fit: cover;
overflow: hidden;
}

#play-button {
display: none;
position: absolute;
width: 88px;
height: 88px;
left: calc(50% – 44px);
top: calc(50% – 44px);
background-color: white;
border-radius: 50%;
opacity: 0.7;
}

#play-button:after {
position: absolute;
left: 26px;
top: 18px;
content: ‘ ‘;
background: transparent;
box-sizing: border-box;
width: 0;
height: 48px;
border-color: transparent transparent transparent grey;
transition: 100ms all ease;
cursor: pointer;
border-style: solid;
border-width: 24px 0 24px 50px;
}

#play-button:hover {
border-color: transparent transparent transparent lightgrey;
}

#close-button {
display: none;
position: absolute;
right: 4px;
top: 4px;
width: 24px;
height: 24px;
opacity: 0.7;
background-color: lightgrey;
}

#close-button:hover {
opacity: 1;
}

#close-button:before, #close-button:after {
position: absolute;
left: 12px;
content: ‘ ‘;
height: 24px;
width: 2px;
background-color: black;
opacity: 0.7;
}

#close-button:before {
transform: rotate(45deg);
}

#close-button:after {
transform: rotate(-45deg);
}

@keyframes slideLeft {
from {
right: -100%;
}
to {
right: 8px;
}
}

if (screen && screen.width resp.json()) // Transform the data into json
.then(function (data) {
const hasItemsMobile = data.Items && data.Items.length > 0;

if (hasItemsMobile) {

const scores365VideosMobile = data.Items; //data.Items.filter(item => item.Author === ‘365Scores’);

scores365VideosMobile?.forEach(item => {
data = {
src: item.Videos[0].VID.replace(‘http:’, ‘https:’).replace(‘imagescache’, ‘imagecache’),
poster: item.Videos[0].Thumbnail,
type: item.Videos[0].ContentType
}

mobileVideos.push(data);
});

initializeMobileElements();
}
})
}

//————————————————————-
//——————— Initialize dom elements —————
//————————————————————-

function initializeMobileElements() {
mobileVideoAdContainer = document.getElementById(‘video-ad-container-mobile’);
createVideoContainer();
createAdContainerElement();
createVideoElement();
createSourceElement();
createPlayButton();
createCloseButton();
init();
}

function updateElements() {
updateSourceElement();
autoplayChecksResolved();
adContainer.style.display = ‘block’;
}

function createVideoContainer() {
videoContainer = document.createElement(‘div’);
const clientWidthMobile = mobileVideoAdContainer.dataset.width || document.body.offsetWidth;
const mobileWidth = clientWidthMobile – 30;
mobileVideoAdContainerOriginalStyle = {
width: mobileWidth,
height: (mobileWidth * 9) / 16,
x: mobileVideoAdContainer.getBoundingClientRect().x,
y: mobileVideoAdContainer.getBoundingClientRect().y,
};
videoContainer.setAttribute(‘id’, ‘mobile-video-container’);
videoContainer.setAttribute(‘class’, ‘mobile-video-container’);
videoContainer.style.width = ‘100%’; // Set the width to 100% of the parent container
videoContainer.style.height = mobileVideoAdContainerOriginalStyle.height + ‘px’;
mobileVideoAdContainer.style.width = ‘100%’; // Ensure the parent container also takes 100% width
mobileVideoAdContainer.style.height = mobileVideoAdContainerOriginalStyle.height + ‘px’;
mobileVideoAdContainer.appendChild(videoContainer);
}

function createVideoElement() {
videoElement = document.createElement(‘video’);
videoElement.id = ‘mobile-video-content’;
videoElement.class = ‘mobile-video-content’;
videoElement.controls = true;
videoElement.playsInline = true;
videoElement.muted = true;
videoElement.width = mobileVideoAdContainerOriginalStyle.width;
videoElement.height = mobileVideoAdContainerOriginalStyle.height;
videoContainer.appendChild(videoElement);
}

function createSourceElement() {
sourceElement = document.createElement(‘source’);
sourceElement.id = ‘mobile-video-source’;
sourceElement.src = mobileVideoAdContainer.dataset.videoSource || mobileVideos[currentVideoIndex].src;
sourceElement.type = mobileVideos[currentVideoIndex].type;
videoElement.appendChild(sourceElement);
}

function updateSourceElement() {
sourceElement = document.getElementById(‘mobile-video-source’);
sourceElement.src = mobileVideoAdContainer.dataset.videoSource || mobileVideos[currentVideoIndex].src;
sourceElement.type = mobileVideos[currentVideoIndex].type;
}

function createAdContainerElement() {
adContainer = document.createElement(‘div’);
adContainer.id = ‘ad-container’;
adContainer.class = ‘ad-container’;
adContainer.style.width = mobileVideoAdContainerOriginalStyle.width + ‘px’;
adContainer.style.height = mobileVideoAdContainerOriginalStyle.height + ‘px’;
mobileVideoAdContainer.appendChild(adContainer);
}

function createPlayButton() {
playButton = document.createElement(‘div’);
playButton.id = ‘play-button’;
playButton.class = ‘play-button’;
mobileVideoAdContainer.appendChild(playButton);
}

function createCloseButton() {
closeButton = document.createElement(‘div’);
closeButton.id = ‘close-button’;
closeButton.class = ‘close-button’;
mobileVideoAdContainer.appendChild(closeButton);
}

function isElementInViewport(el) {
const rect = el.getBoundingClientRect();
return rect.bottom {
// Initialize the container. Must be done via a user action where autoplay
// is not allowed.
adDisplayContainer.initialize();
adsInitialized = true;
videoContent.load();
playAds();
});
closeButton.addEventListener(‘click’, () => {
isCloseClicked = true;
moveToInitialPosition();
hideCloseButton();
videoContent.pause();
});
setUpIMA();
checkAutoplaySupport();
}

function setUpIMA() {
// Create the ad display container.
// We assume the adContainer is the DOM id of the element that will house
// the ads.
adDisplayContainer = new google.ima.AdDisplayContainer(adContainer, videoContent);
// Create ads loader.
adsLoader = new google.ima.AdsLoader(adDisplayContainer);
adsLoader.getSettings().setDisableCustomPlaybackForIOS10Plus(true);
// 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.
videoContent.onended = contentEndedListener;
}

function checkAutoplaySupport() {
// Test for autoplay support with our content player.
let playPromise = playCurrentVideo();
if (playPromise !== undefined) {
playPromise.then(onAutoplayWithSoundSuccess).catch(onAutoplayWithSoundFail);
}
}

function onAutoplayWithSoundSuccess() {
// If we make it here, unmuted autoplay works.
videoContent.pause();
autoplayAllowed = autoplay;
autoplayRequiresMuted = true;
autoplayChecksResolved();
}

function onAutoplayWithSoundFail() {
// Unmuted autoplay failed. Now try muted autoplay.
checkMutedAutoplaySupport();
}

function checkMutedAutoplaySupport() {
videoContent.volume = 0;
videoContent.muted = true;
let playPromise = playCurrentVideo();
if (playPromise !== undefined) {
playPromise.then(onMutedAutoplaySuccess).catch(onMutedAutoplayFail);
}
}

function onMutedAutoplaySuccess() {
// If we make it here, muted autoplay works but unmuted autoplay does not.
videoContent.pause();
autoplayAllowed = autoplay;
autoplayRequiresMuted = true;
autoplayChecksResolved();
}

function onMutedAutoplayFail() {
// Both muted and unmuted autoplay failed. Fall back to click to play.
videoContent.volume = 1;
videoContent.muted = false;
autoplayAllowed = false;
autoplayRequiresMuted = false;
autoplayChecksResolved();
}

function autoplayChecksResolved() {
// Request video ads.
let adsRequest = new google.ima.AdsRequest();
adsRequest.adTagUrl = mobileVideoAdContainer.dataset.adTag;
// Specify the linear and nonlinear slot sizes. This helps the SDK to
// select the correct creative if multiple are returned.
adsRequest.linearAdSlotWidth = 640;
adsRequest.linearAdSlotHeight = 400;
adsRequest.nonLinearAdSlotWidth = 640;
adsRequest.nonLinearAdSlotHeight = 150;
adsRequest.setAdWillAutoPlay(autoplayAllowed);
adsRequest.setAdWillPlayMuted(autoplayRequiresMuted);
adsLoader.requestAds(adsRequest);
}

function playAds() {
try {
if (!adsInitialized) {
adDisplayContainer.initialize();
adsInitialized = true;
}
const width = isScrolling ? mobileVideoAdContainerSmallStyle.width : mobileVideoAdContainerOriginalStyle.width;
const height = isScrolling ? mobileVideoAdContainerSmallStyle.height : mobileVideoAdContainerOriginalStyle.height;
// Initialize the ads manager. Ad rules playlist will start at this time.
adsManager.init(width, height, 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();
} catch (adError) {
// An error may be thrown if there was a problem with the VAST response.
playCurrentVideo();
}
hidePlayButton();
}

function onAdsManagerLoaded(adsManagerLoadedEvent) {
// Get the ads manager.
let adsRenderingSettings = new google.ima.AdsRenderingSettings();
adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;
// videoContent should be set to the content video element.
adsManager = adsManagerLoadedEvent.getAdsManager(
videoContent, adsRenderingSettings);
// Mute the ad if doing muted autoplay.
const adVolume = (autoplayAllowed && autoplayRequiresMuted) ? 0 : 1;
adsManager.setVolume(adVolume);
// 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);
adsManager.addEventListener(
google.ima.AdEvent.Type.SKIPPED,
onAdEvent);
adsManager.addEventListener(
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
onAdEvent);
if (autoplayAllowed && autoplay) {
playAds();
} else {
showPlayButton();
}
}

function onAdEvent(adEvent) {
// Retrieve the ad from the event. Some events (e.g. ALL_ADS_COMPLETED)
// don’t have ad object associated.
let ad = adEvent.getAd();
switch (adEvent.type) {
case google.ima.AdEvent.Type.STARTED:
// 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 () {
var remainingTime = adsManager.getRemainingTime();
},
300); // every 300ms
}
break;
case google.ima.AdEvent.Type.COMPLETE:
if (ad.isLinear()) {
clearInterval(intervalTimer);
}
adContainer.style.display = ‘none’;
videoElement.src = mobileVideoAdContainer.dataset.videoSource || mobileVideos[currentVideoIndex].src;
break;
case google.ima.AdEvent.Type.SKIPPED:
adContainer.style.display = ‘none’;
videoElement.src = mobileVideoAdContainer.dataset.videoSource || mobileVideos[currentVideoIndex].src;
break;
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()) {
playCurrentVideo();
}
break;
case google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED:
if (isScrolling) {
showCloseButton();
} else {
hideCloseButton();
}
break;
}
}

function onAdError(adErrorEvent) {
// Handle the error logging.
console.log(adErrorEvent.getError());
adsManager.destroy();
adContainer.style.display = ‘none’;
// // Fall back to playing content.
//
playCurrentVideo();
}

function onContentPauseRequested() {
videoPlaying = false;
videoContent.pause();
// videoContent.onended = null;
}

function onContentResumeRequested() {
playCurrentVideo();
videoContent.onended = contentEndedListener;
}

function playCurrentVideo() {
videoPlaying = true;
hidePlayButton();
isScrolling && showCloseButton();
return videoContent.play();
}

function stopCurrentVideo() {
videoPlaying = false;
showPlayButton();
return videoContent.pause();
}

function contentEndedListener() {
adsLoader.contentComplete();
gotoNextVideo();
}

function showCloseButton() {
if (isScrolling && !isCloseClicked) {
closeButton.style.display = ‘block’;
}
}

function hideCloseButton() {
closeButton.style.display = ‘none’;
}

function showPlayButton() {
playButton.style.display = ‘block’;
}

function hidePlayButton() {
playButton.style.display = ‘none’;
}

function gotoNextVideo() {
if (currentVideoIndex < mobileVideos?.length – 1) {
currentVideoIndex++;
} else {
currentVideoIndex = 0;
}

updateElements();
}
}

Rony foi um pedido do próprio técnico Artur Jorge, que busca atletas do futebol brasileiro para reforçar o clube catari. Sendo assim, o atacante se juntará a Roger Guedes e Gabriel pereira.

Depois de anos no Alviverde, o atleta estava fora dos planos do Palmeiras, que liberou seu estafe para procurarem propostas. Na última semana, a presidente do Verdão, Leila Pereira, chegou a dizer que o ciclo do atacante tinha chegado ao fim.

No momento, Rony tem contrato com o clube paulista até 2026. Na última temporada, ele entrou em campo em 63 oportunidades, balançando as redes dez vezes e dando seis assistências.

Para acompanhar o placar do jogo do Palmeiras, acesse o 365Scores e fique por dentro das estatísticas, informações, notícias, tabela de classificação e mais!

Este conteúdo foi útil para você?

Obrigado pelo seu feedback!

Ofertas Imperdíveis. Acesse agora!

Magazine Luiza
Banner Responsivo
Portal São Caetano do Sul NET
Visão geral de privacidade

Este site usa cookies para que possamos fornecer a melhor experiência de usuário possível. As informações de cookies são armazenadas em seu navegador e executam funções como reconhecê-lo quando você retorna ao nosso site e ajuda nossa equipe a entender quais seções do site você considera mais interessantes e úteis.