document.querySelector() | Usado para selecionar o elemento HTML para atualizar dinamicamente o título da guia do navegador. Este método é específico para selecionar elementos com base em seu seletor CSS e aqui ajuda a alterar o título da página com base no valor do temporizador selecionado.</td> </tr> <tr> <td>addEventListener()</td> <td>Vincula um evento específico (por exemplo, clique) a um elemento de botão. Neste contexto, é usado para acionar a função changeTimer() quando um usuário clica em um botão, permitindo a interação dinâmica com as configurações do temporizador.</td> </tr> <tr> <td>innerText</td> <td>Esta propriedade permite modificar o texto visível dentro de um elemento HTML. Nesta solução, é utilizado para atualizar o valor do timer no título da página quando um botão é clicado.</td> </tr> <tr> <td>onClick</td> <td>Um atributo de manipulador de eventos embutido usado na abordagem alternativa para anexar a função changeTimer() diretamente ao evento de clique do botão. Isso permite uma maneira mais simples e menos modular de atualizar o temporizador dinamicamente.</td> </tr> <tr> <td>test()</td> <td>Este método é usado em testes unitários com Jest. Ele define um caso de teste onde a função que está sendo testada (por exemplo, changeTimer()) é avaliada para garantir que o cronômetro seja atualizado corretamente. Ele garante que o código se comporte conforme esperado em diferentes cenários.</td> </tr> <tr> <td>expect()</td> <td>Um comando Jest que verifica se o valor real (como o cronômetro atualizado) corresponde ao valor esperado. É usado em testes de unidade para verificar se gameTime e document.title são atualizados corretamente após um clique de botão.</td> </tr> <tr> <td>toBe()</td> <td>Outro comando Jest que verifica a igualdade estrita. Ele garante que após chamar changeTimer(), o tempo de jogo seja exatamente o esperado (por exemplo, 30.000 ms por 30 segundos).</td> </tr> <tr> <td>getElementById()</td> <td>Usado para selecionar botões específicos por seus IDs (por exemplo, 'trinta', 'sessenta'). Este método é importante para anexar ouvintes de eventos aos botões e acionar a mudança dinâmica do temporizador em resposta à interação do usuário.</td> </tr></table><h3 id="dev1">Criando temporizadores dinâmicos usando botões JavaScript e HTML</h3><div class="bordersh3"></div><p>Os scripts fornecidos acima são projetados para permitir que um usuário ajuste dinamicamente o cronômetro do jogo em um jogo de digitação clicando em botões HTML. Inicialmente declaramos uma variável <b>tempo de jogo</b>, que mantém o tempo em milissegundos (30 segundos por padrão, multiplicado por 1.000 para converter em milissegundos). A principal funcionalidade reside no <b>alterarTemporizador</b> função, que atualiza o valor do temporizador com base no botão clicado. Este método recebe o valor do botão (por exemplo, 30, 60 ou 90) e atualiza o tempo de jogo variável em conformidade. Além disso, o script atualiza o título da página para refletir a duração do cronômetro selecionada, deixando claro aos usuários quanto tempo eles têm.</p><p>Para o comportamento dinâmico, utilizamos ouvintes de eventos, especificamente o <b>addEventListener</b> comando. Isso permite que o script reaja quando um usuário clica em qualquer um dos botões. Cada botão recebe um ID e, quando clicado, aciona o <b>alterarTemporizador</b> função, passando o respectivo valor de tempo. Essa abordagem é útil para lidar com vários botões de forma eficiente, sem a necessidade de JavaScript embutido repetitivo na estrutura HTML. O script também inclui uma opção de fallback onde você pode usar manipuladores de eventos embutidos como <b>onClick</b> se a simplicidade for preferida à modularidade.</p><p>Na solução alternativa, vinculamos diretamente o <b>onClick</b> evento para os botões. Este método executa o <b>alterarTemporizador</b> funcionam diretamente no botão que está sendo clicado. É uma abordagem simples, mas carece da flexibilidade do método do ouvinte de eventos. A simplicidade deste método é útil para aplicações menores e menos complexas. No entanto, para um código mais escalonável, os ouvintes de eventos oferecem mais flexibilidade e permitem atualizações mais fáceis do script sem modificar diretamente a estrutura HTML. Ambos os métodos visam resolver o mesmo problema, que é ajustar o cronômetro e atualizar o título dinamicamente com base na seleção do usuário.</p><p>Por fim, implementamos testes unitários usando Jest, um framework de testes JavaScript. O <b>teste</b> funções são cruciais para validar se o cronômetro é atualizado corretamente. Ao testar vários cenários, como se o cronômetro se ajusta para 30 segundos, 60 segundos ou 90 segundos, esses testes de unidade garantem a exatidão do script. Comandos como <b>esperar</b> e <b>ser</b> são usados para verificar se o valor real do temporizador e o título da página correspondem aos resultados esperados. Esta fase de teste garante que a lógica do seu temporizador esteja funcionando corretamente em diferentes casos de uso, proporcionando confiança na robustez da sua solução.<div id="script0"><h3>Alterando o valor do temporizador com botões HTML para um jogo de digitação</h3><div class="bordersh3"></div><p class="langprog">Abordagem front-end baseada em JavaScript com atualização dinâmica de tempo e ajuste de título</p><pre class="language-javascript"><code>// Solution 1: Using event listeners to change timer value dynamically</code>
<code>let gameTime = 30 * 1000; // Default timer set to 30 seconds</code>
<code>const titleElement = document.querySelector('title');</code>
<code>function changeTimer(value) {</code>
<code> gameTime = value * 1000; // Update timer to selected value</code>
<code> titleElement.innerText = value + 's'; // Update the title</code>
<code>}</code>
<code>// Attach event listeners to buttons</code>
<code>document.getElementById('thirty').addEventListener('click', () => changeTimer(30));</code>
<code>document.getElementById('sixty').addEventListener('click', () => changeTimer(60));</code>
<code>document.getElementById('ninety').addEventListener('click', () => changeTimer(90));</code>
<code>// HTML Buttons:</code>
<code>// <button id="thirty" type="button">30s</button></code>
<code>// <button id="sixty" type="button">60s</button></code>
<code>// <button id="ninety" type="button">90s</button></code>
</pre></div><div id="script1"><h3>Abordagem alternativa: usando funções HTML e JavaScript embutidas</h3><div class="bordersh3"></div><p class="langprog">JavaScript embutido em HTML com chamadas de função diretas ao clicar no botão</p><pre class="language-javascript"><code><script></code>
<code>let gameTime = 30 * 1000;</code>
<code>function changeTimer(value) {</code>
<code> gameTime = value * 1000;</code>
<code> document.title = value + 's';</code>
<code>}</code>
<code></script></code>
<code><button onClick="changeTimer(30)">30s</button></code>
<code><button onClick="changeTimer(60)">60s</button></code>
<code><button onClick="changeTimer(90)">90s</button></code>
</pre></div><div id="script2"><h3>Testes unitários para alterações de valores de temporizador em diferentes ambientes</h3><div class="bordersh3"></div><p class="langprog">Testes de unidade baseados em JavaScript usando Jest para validação de ambiente front-end</p><pre class="language-javascript"><code>// Jest Test Cases</code>
<code>test('Timer should update to 30 seconds', () => {</code>
<code> changeTimer(30);</code>
<code> expect(gameTime).toBe(30000);</code>
<code> expect(document.title).toBe('30s');</code>
<code>});</code>
<code>test('Timer should update to 60 seconds', () => {</code>
<code> changeTimer(60);</code>
<code> expect(gameTime).toBe(60000);</code>
<code> expect(document.title).toBe('60s');</code>
<code>});</code>
<code>test('Timer should update to 90 seconds', () => {</code>
<code> changeTimer(90);</code>
<code> expect(gameTime).toBe(90000);</code>
<code> expect(document.title).toBe('90s');</code>
<code>});</code>
</pre></div></p><h3>Aprimorando a interação do jogo com personalização do temporizador</h3><div class="bordersh3"></div><p>Outro aspecto a considerar ao alterar o cronômetro em um jogo de digitação é a experiência geral do usuário e a interface. Além de ajustar o cronômetro do jogo por meio de botões, é importante dar aos jogadores feedback visual sobre o cronômetro selecionado. Isso pode ser conseguido atualizando outros elementos da página, como uma exibição de contagem regressiva. Depois que um botão é clicado para definir o cronômetro, o cronômetro de contagem regressiva deve iniciar imediatamente, fornecendo feedback em tempo real ao usuário. Isso garante que a interação seja suave e intuitiva, tornando o jogo mais envolvente.</p><p>Para implementar isso, você pode usar JavaScript <b>setInterval</b> função. Assim que o cronômetro estiver definido, setInterval pode ser usado para criar uma contagem regressiva que diminui o valor do temporizador a cada segundo. Quando o cronômetro chega a zero, a função pode interromper o jogo ou alertar o usuário que o tempo acabou. Esta funcionalidade, combinada com a capacidade de alterar dinamicamente o temporizador através de botões, melhora significativamente a experiência de jogo. Uma interface responsiva é fundamental para manter os jogadores envolvidos, e o feedback em tempo real é uma forma de conseguir isso.</p><p>Além disso, o tratamento de erros deve ser considerado. Por exemplo, se um usuário tentar iniciar o jogo sem definir um cronômetro, você poderá solicitar que ele selecione um horário válido. Ao incorporar mecanismos de validação, você garante que o jogo funcione sem problemas e reduz possíveis problemas. Este tipo de validação não só melhora a experiência do usuário, mas também contribui para a confiabilidade do seu jogo, garantindo que os jogadores não enfrentem confusões desnecessárias.</p><div id="newfaq"><div id="adsense-article-faq"></div><h4 id="faq">Perguntas comuns sobre personalização de timer em JavaScript</h4><div class="bordersh4"></div><ol> <li>Como eu uso <strong>setInterval</strong> criar uma contagem regressiva?</li> <li>Você pode usar <strong>setInterval</strong> configurando-o para ser executado a cada 1000 milissegundos (1 segundo) e diminuindo o valor do temporizador a cada vez. Quando o valor chegar a zero, você poderá interromper a contagem regressiva usando <strong>clearInterval</strong>.</li> <li>Qual é o propósito <strong>clearInterval</strong>?</li> <li><strong>clearInterval</strong> é usado para interromper uma contagem regressiva ou qualquer outra ação recorrente iniciada por <strong>setInterval</strong>. É crucial garantir que a contagem regressiva pare quando chegar a zero.</li> <li>Como posso atualizar o título HTML dinamicamente?</li> <li>Usar <strong>document.title</strong> para definir o texto do título da página. Isso pode ser atualizado dentro do seu <strong>changeTimer</strong> função com base no valor de tempo selecionado.</li> <li>Posso lidar com erros do usuário ao selecionar um cronômetro?</li> <li>Sim, você pode adicionar validação verificando se uma opção de cronômetro válida foi selecionada antes de iniciar a contagem regressiva. Se nenhum horário válido for escolhido, você poderá exibir um alerta ou prompt.</li> <li>Como aciono uma função quando um botão é clicado?</li> <li>Você pode anexar uma função a um botão usando <strong>addEventListener</strong> ou usando diretamente <strong>onClick</strong> no elemento HTML do botão.</li></ol></div><div id="summary"><h4>Considerações finais sobre personalização do temporizador</h4><div class="bordersh4"></div><p>A incorporação de ajustes dinâmicos do temporizador em um jogo de digitação melhora significativamente a experiência do jogador. Ao permitir que os usuários alterem o cronômetro usando botões HTML simples e atualizando a interface do jogo em tempo real, os desenvolvedores podem tornar seus jogos mais interativos e flexíveis. Esse tipo de controle ajuda a acomodar diferentes níveis de habilidade.</p><p>O uso de práticas recomendadas, como ouvintes de eventos, tratamento de erros e testes de unidade, garante que o jogo funcione sem problemas e forneça uma experiência confiável ao usuário. A implementação desses recursos não apenas melhorará a funcionalidade do jogo, mas também manterá os jogadores mais envolvidos com uma mecânica responsiva e fácil de usar.</p><div id="source"> <h6>Fontes e referências para personalização do temporizador</h6> <div class="bordersh2"></div> <ol> <li>Informações detalhadas sobre o uso de JavaScript para manipulação de DOM e manipulação de eventos podem ser encontradas em <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide" target="_blank">Documentos da Web do MDN</a> .</li> <li>Para entender o <a href="https://jestjs.io/docs/getting-started" target="_blank">Brincadeira</a> framework e sua implementação para testes unitários em aplicações JavaScript.</li> <li>Informações abrangentes sobre o uso <a href="https://www.w3schools.com/js/js_htmldom_eventlistener.asp" target="_blank">addEventListener</a> para tratamento de eventos em JavaScript estão disponíveis no W3Schools.</li> <li>A importância das atualizações em tempo real em aplicações web, incluindo temporizadores, é discutida em <a href="https://www.smashingmagazine.com/2020/02/real-time-app-web/" target="_blank">Revista sensacional</a> .</li> </ol></div></div> </article>
</div>
<!-- WIDGET RIGHT SIDE SCREEN -->
<div id="article-right" class="col-lg-3 ol-md-12 col-sm-12 col-xs-12">
<aside aria-label="sidebar" id="article-sidebar" class="sidebar sidebar-right">
<div id="adsense-right" class="widget sidebaritem d-none d-md-none d-lg-block adsense-right-vertical-div" page="0">
<!-- <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328" crossorigin="anonymous"></script>
<ins class="adsbygoogle adsense-right-vertical"
style=""
data-ad-client="ca-pub-3922865260272328"
data-ad-slot="9756184449"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script> -->
</div>
<div id="tempmail-slogan" class="widget w-about widget-sidebar sidebaritem" style="z-index:4;position:relative;background-color: white;margin-top:-30px;">
<div class="widget-title">Tempmail.us.com</div>
<div class="bordersh4"></div>
<p id="promotext">Procura o correio temporário anónimo com melhor desempenho na Internet? O nosso serviço de correio eletrónico temporário gratuito é o mais completo. Receba e envie mensagens de correio eletrónico, crie redireccionamentos para as suas mensagens de correio eletrónico favoritas. Guarde a sua palavra-passe e utilize o seu correio eletrónico temporário para sempre. POP3, IMAP e SMTP disponíveis gratuitamente.</p>
<div style="width:100%;text-align:right;">
<a class="read-more--with-arrow" href="https://www.tempmail.us.com/pt/">
Temp mail
</a>
</div>
</div>
<div id="adsense-article-square"></div>
<div id="blog-ajax" style="margin-top:5px;"></div>
</aside>
</div>
</div>
</div>
</section>
<!-- Footer -->
<svg width="100%" height="4px" xmlns="http://www.w3.org/2000/svg" class="border-footer">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#EB177D;stop-opacity:1" />
<stop offset="25%" style="stop-color:#F9A933;stop-opacity:1" />
<stop offset="50%" style="stop-color:#3BC7EB;stop-opacity:1" />
<stop offset="75%" style="stop-color:#28C182;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="100%" height="5px" fill="url(#grad1)" />
</svg>
<!-- Balise div pour stocker le numéro de page initial -->
<div id="content">
<!-- Contenu de votre page principale -->
<div id="page_count"></div>
</div>
</div>
<div class="footer-ad">
<div id="google_ads_iframe" style="max-width:1200px;text-align:center;margin: 0 auto; z-index:5;background-size: cover;background-repeat: no-repeat;background-image: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAACWAAAAI9CAIAAAAxONTqAAAACXBIWXMAABYlAAAWJQFJUiTwAAAF0WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDI0LTA4LTAzVDA4OjI1OjIzLTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0LTA4LTAzVDA4OjI1OjIzLTA0OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0wOC0wM1QwODoyNToyMy0wNDowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozODA2ZTM4Zi1mMTU2LThkNGItODA0Ny0wNmJmODgzZmYwMjgiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NzNiMjA4Zi1hNzI4LTMzNDQtODk0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);">
</div>
</div>
<!-- ... end Footer -->
<div id="javascript-mobile"></div>
<script>
// Fonction pour charger le script Hotjar
function loadHotjar() {
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:5178820,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
}
// Écouteur d'événements pour la souris et le toucher
if (typeof interactionDetected === 'undefined') {
let interactionDetected = false; // Déclaration de la variable
// Détecter les mouvements de souris sur desktop
window.addEventListener('mousemove', function() {
if (!interactionDetected) {
interactionDetected = true;
loadHotjar(); // Charge le script Hotjar
}
});
// Détecter les interactions tactiles sur mobile
window.addEventListener('touchstart', function() {
if (!interactionDetected) {
interactionDetected = true;
loadHotjar(); // Charge le script Hotjar
}
});
}
</script>
<script>
// Function to load a script and return a Promise that resolves when the script is loaded
function loadScript(src) {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = src;
script.onload = () => resolve();
script.onerror = () => reject(new Error(`Failed to load script: ${src}`));
document.getElementById('javascript-mobile').appendChild(script);
});
}
// Async function to sequentially load scripts with a delay after jQuery
async function loadScriptsSequentially() {
try {
// Load jQuery first
await loadScript('https://www.tempmail.us.com/js/jquery.min.js');
// Optional: Verify that jQuery is loaded
if (typeof jQuery === 'undefined') {
throw new Error('jQuery did not load correctly.');
}
// Delay of 500ms after jQuery is loaded
//await new Promise(resolve => setTimeout(resolve, 100));
// Load the remaining scripts sequentially
await loadScript('https://www.tempmail.us.com/js/lazysizes.min.js');
//await new Promise(resolve => setTimeout(resolve, 100));
//await loadScript('https://www.tempmail.us.com/js/load-bg-and-webp.js');
await loadScript('https://www.tempmail.us.com/js/prism.js');
// All scripts loaded successfully
console.log('All scripts loaded successfully.');
// You can now execute any code that depends on the loaded scripts
// For example:
$(document).ready(function() {
console.log('jQuery is ready.');
// Your jQuery-dependent code here
});
} catch (error) {
console.error(error);
}
}
pageCount = document.querySelectorAll('#content #page_count').length;
//console.log('Nombre de pages chargées:', pageCount);
// Initiate the script loading based on the window width
if (window.innerWidth < 900) {
loadScriptsSequentially();
}
</script>
<script>
setTimeout(function() {
$(document).ready(function() {
//permettre le copier-coller
// Sélectionnez tous les éléments <pre> dans le document
document.addEventListener('mousemove', function() {
const pageCount = document.querySelectorAll('#content #page_count').length;
//console.log('Nombre de pages chargées:', pageCount);
pageNum = pageCount-1;
var preElements = document.querySelectorAll('div[page="'+ pageNum +'"] pre');
// Parcourez chaque élément <pre>
preElements.forEach(function(preElement, index) {
var preId = "pre" + (index + 1); // ID unique, par exemple : pre1, pre2, pre3, ...
// Créez un élément <img> avec un attribut onclick qui appelle copyCode avec l'ID correspondant
var img = document.createElement("img");
img.src = "https://www.tempmail.us.com/img/copypaste4.png"; // Remplacez par le chemin de votre image
img.alt = "Copiar e colar";
img.setAttribute("width", "28.698");
img.setAttribute("height", "35");
img.classList.add("lazyload");
img.setAttribute("onclick", "copyCode('" + preId + "', this)");
// Créez un élément div pour contenir l'image
var imgContainer = document.createElement("div");
imgContainer.appendChild(img);
imgContainer.classList.add("article-copypaste"); // Ajoutez la classe "article-copypaste" à la div
// Insérez le imgContainer avant l'élément <pre>
preElement.parentNode.insertBefore(imgContainer, preElement);
// Attribuez l'ID à l'élément <pre>
preElement.id = preId;
});
var count = 1;
$('.article-copypaste').each(function() {
// Vérifie si la div langprog existe juste au-dessus de chaque div article-copypaste
if ($(this).prev('.langprog').length === 0) {
// Si elle n'existe pas, créez-la
$(this).before('<p class="langprog"><br></p>');
}
});
$('div[page="0"] .langprog').each(function() {
//console.log("test");
// Créez une nouvelle div
var newDiv = $('<div>').text('');
// Ajoutez des classes ou des styles à la nouvelle div si nécessaire
newDiv.attr('id', "pre"+count+"-alert");
//newDiv.attr('display', "none");
// Ajoutez la nouvelle div en haut de la div actuelle
$(this).prepend(newDiv);
count++;
});
document.removeEventListener('mousemove', arguments.callee);
});
});
}, 1000);
//copier les pre & code
function copyCode(preId, button) {
var pre = document.getElementById(preId);
var range = document.createRange();
range.selectNode(pre);
// Supprimer les espaces en début de chaque ligne
var cleanedText = pre.textContent.replace(/^\s+/gm, "");
// Créer un élément temporaire pour copier le texte nettoyé
var temp = document.createElement("textarea");
temp.value = cleanedText;
document.body.appendChild(temp);
temp.select();
document.execCommand("copy");
document.body.removeChild(temp);
button.innerHTML = "Copié !";
setTimeout(function() {
button.innerHTML = "Copier";
}, 1000);
var boxe = "#"+preId+"-alert";
console.log(boxe);
showCopyPaste(boxe,"Conteúdo copiado para a área de transferência!","success");
}
function showCopyPaste(id,textbox,info) {
var message = $('div[page="0"] ' + id);
message.text(textbox);
message.removeClass();
if (info=="general") {
message.addClass('alert alert-secondary');
}
if (info=="warning") {
message.addClass('alert alert-warning');
}
if (info=="danger") {
message.addClass('alert alert-danger');
}
if (info=="success") {
message.addClass('alert alert-success');
}
message.fadeIn();
setTimeout(function() {
message.fadeOut();
}, 3000); // 2000 millisecondes = 2 secondes
}
</script>
<script>
setTimeout(function() {
$(document).ready(function () {
pageCount = document.querySelectorAll('#content #page_count').length;
//console.log('Nombre de pages chargées:', pageCount);
pageNum = pageCount-1;
if ( pageNum==0) {
//console.log("repasser par la ");
initPositioning(0); // Initial call for the first page
}
setTimeout(function() {
//parce que le prism est en defer
Prism.highlightAll();
}, 500);
});
$(document).ready(function () {
var ajaxAborted = false;
var page = 1; // Numéro de la page actuelle
var loading = false; // Pour éviter les chargements multiples en même temps
var articlesLoaded = false;
function loadMoreArticles(unusedHeight) {
if (loading || articlesLoaded) return;
// Déclenche la requête AJAX pour charger plus d'articles
$.ajax({
url: 'https://www.tempmail.us.com/02blog-ajax.php', // L'URL du script PHP pour charger les articles
method: 'POST',
data: {
action: 'getArticles',
lang: 'pt',
addQueryCat: "AND catclean='javascript'",
page: page,
currentid: "100095",
unusedHeight: unusedHeight // Utilisez la valeur de hauteur non utilisée ici
},
dataType: 'html',
beforeSend: function (xhr) {
loading = true;
if (ajaxAborted) {
xhr.abort(); // Annuler la requête
}
},
success: function (response) {
// Insérez les nouveaux articles dans la partie vide de la page
if ($(response).find('div').length > 0) {
const pageCount = document.querySelectorAll('#content #page_count').length;
//console.log('Nombre de pages chargées:', pageCount);
pageNum = pageCount-1;
// La division en particulier est trouvée, continuez le traitement
var parentDiv = $('div[page="' + pageNum + '"]');
var blogAjaxElement = parentDiv.find('#blog-ajax');
blogAjaxElement.append(response);
} else {
ajaxAborted = true;
//console.log("aborded");
}
// Incrémente le numéro de page
page++;
loading = false;
articlesLoaded = true;
},
error: function (xhr, status, error) {
// Gérez les erreurs si nécessaire
console.error(error);
}
});
}
// Fonction pour calculer la hauteur non utilisée de manière synchrone
function calculateUnusedHeight() {
const pageCount = document.querySelectorAll('#content #page_count').length;
//console.log('Nombre de pages chargées:', pageCount);
pageNum = pageCount-1;
var parentDiv = $('div[page="' + pageNum + '"]');
var sidebar = parentDiv.find('#article-right')[0];
var sidebarItems = parentDiv.find('.sidebaritem');
var $page = $('[page="' + pageNum + '"]');
var $article = $page.find('#article');
var $newfaq = $page.find('#newfaq');
var totalfaq = $newfaq.outerHeight();
$page.find('[id^=script]').each(function(index) {
totalfaq += $(this).outerHeight();
});
//console.log("total height"+totalfaq )
// Comparer avec la hauteur de #article et ajuster si nécessaire
var $article = $page.find('#article');
var realarticleheight = $article.outerHeight() - (totalfaq);
var totalHeight = realarticleheight;
if (totalfaq>realarticleheight) {
totalHeight = totalfaq;
}
//console.log("test"+totalHeight);
var itemsHeight = 0;
for (var i = 0; i < sidebarItems.length; i++) {
itemsHeight += sidebarItems[i].offsetHeight;
}
var $article = $page.find('#article');
var unusedHeight = $article.outerHeight() - 1600;
//var unusedHeight = (totalHeight+400) - (itemsHeight);
return unusedHeight;
}
// Chargez les premiers articles au chargement de la page
if ($(window).width() > 991) {
setTimeout(function() {
var unusedHeight = calculateUnusedHeight();
//console.log("unUsed"+unusedHeight);
loadMoreArticles(unusedHeight);
}, 1500);
}
});
}, 1000);
</script>
<script>
setTimeout(function() {
$(document).ready(function() {
// Fonction pour vérifier le statut de la publicité AdSense après un délai de 2 secondes
setTimeout(function() {
$(".adsbygoogle").each(function() {
var self = $(this);
var adStatus = self.attr("data-ad-status");
//console.log("test"+adStatus);
if (adStatus === "unfilled") {
removeParentDiv(self); // Appel de la fonction pour manipuler la div parent
}
});
}, 2000); // Attendre 2 secondes
// Fonction pour manipuler la div parent
function removeParentDiv(element) {
var parentDiv = element.closest('#adsense-right');
if (parentDiv.length > 0) {
parentDiv.remove(); // Supprimer la div parent si elle est trouvée
}
}
});
}, 1000);
// Écoute de l'événement de mouvement de la souris pour charger le script Google AdSense lorsque l'utilisateur effectue une action
document.addEventListener('mousemove', function() {
// Chargement du script Google AdSense
//chargerScriptGoogleAdsenseVertical();
var script = document.createElement('script');
script.src = 'https://www.googletagmanager.com/gtag/js?id=G-ESDTKX54VK';
script.async = true;
// Ajoutez le script à l'en-tête du document
document.head.appendChild(script);
// Initialisez Google Tag Manager lorsque le script est chargé
script.onload = function() {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-ESDTKX54VK');
};
chargerScriptGoogleAdsenseSquare();
// Suppression de l'écouteur d'événements après le premier déclenchement pour éviter de charger le script à nouveau
document.removeEventListener('mousemove', arguments.callee);
});
// Fonction pour charger le script Google AdSense
function chargerScriptGoogleAdsenseSquare() {
// Créez un élément script
var script = document.createElement('script');
script.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
script.async = true;
script.crossOrigin = "anonymous";
// Ajoutez une fonction pour exécuter lorsque le script est chargé
script.onload = function() {
// Créez un élément ins (bloc de publicité AdSense)
var ins = document.createElement('ins');
ins.className = "adsbygoogle adsense-right-square";
ins.style = "";
ins.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
ins.setAttribute('data-ad-slot', '2613927101');
// ins.setAttribute('data-ad-format', 'auto');
// ins.setAttribute('data-full-width-responsive', 'true');
// Ajoutez le bloc de publicité à l'emplacement désiré
var parentElement = document.querySelector('div[page="0"] .widget.adsenselink.d-none.d-md-none.d-lg-block');
parentElement.appendChild(ins);
// Appelez la fonction push() pour afficher la publicité
(adsbygoogle = window.adsbygoogle || []).push({});
// Surveillez les changements de l'attribut data-ad-status de l'élément ins
var observer = new MutationObserver(function(mutationsList, observer) {
mutationsList.forEach(function(mutation) {
if (mutation.attributeName === "data-ad-status") {
// Récupérez la valeur de l'attribut data-ad-status
var status = ins.getAttribute("data-ad-status");
//console.log("Attribut data-ad-status a changé :", status);
// Faites ce que vous devez avec la valeur récupérée
if (status != "filled") {
$('#adsense-right').remove(); // Appel de la fonction pour manipuler la div parent
}
}
});
});
// Configurez l'observateur pour surveiller les changements d'attribut de l'élément ins
observer.observe(ins, { attributes: true });
};
// Ajoutez le script à l'emplacement désiré
var parentElement = document.querySelector('div[page="0"] .widget.adsenselink.d-none.d-md-none.d-lg-block');
parentElement.appendChild(script);
}
function chargerScriptGoogleAdsenseVertical() {
// Création de l'élément script
var script = document.createElement('script');
script.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
script.async = true;
script.crossOrigin = "anonymous";
// Ajout d'une fonction à exécuter lorsque le script est chargé
script.onload = function() {
// Création de l'élément ins (bloc de publicité AdSense)
var ins = document.createElement('ins');
ins.className = "adsbygoogle adsense-right-vertical";
ins.style = "";
ins.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
ins.setAttribute('data-ad-slot', '9756184449');
// Ajout du bloc de publicité à l'emplacement désiré
var parentElement = document.querySelector('div[page="0"] .widget.sidebaritem.d-none.d-md-none.d-lg-block.adsense-right-vertical-div');
parentElement.appendChild(ins);
// Appel de la fonction push() pour afficher la publicité
(adsbygoogle = window.adsbygoogle || []).push({});
var observer = new MutationObserver(function(mutationsList, observer) {
mutationsList.forEach(function(mutation) {
if (mutation.attributeName === "data-ad-status") {
// Récupérez la valeur de l'attribut data-ad-status
var status = ins.getAttribute("data-ad-status");
console.log("Attribut data-ad-status a changé :", status);
// Faites ce que vous devez avec la valeur récupérée
if (status != "filled") {
document.querySelector('div[page="0"] .widget.sidebaritem.d-none.d-md-none.d-lg-block.adsense-right-vertical-div').remove(); // Appel de la fonction pour manipuler la div parent
}
}
});
});
// Configurez l'observateur pour surveiller les changements d'attribut de l'élément ins
observer.observe(ins, { attributes: true });
};
// Ajout du script à l'emplacement désiré
var parentElement = document.querySelector('div[page="0"] .widget.sidebaritem.d-none.d-md-none.d-lg-block.adsense-right-vertical-div');
parentElement.appendChild(script);
}
</script>
<script>
function handleScroll() {
var scrollPosition = window.scrollY; // Position de défilement par rapport au haut de la page
var targetDiv = document.getElementById('navigation'); // Remplacez 'votre-div' par l'ID de votre div cible
// Si la position de défilement est supérieure à 0, ajoutez la classe
if (scrollPosition > 0) {
targetDiv.classList.add('header--fixed'); // Remplacez 'votre-classe' par le nom de la classe que vous souhaitez ajouter
} else {
// Sinon, supprimez la classe
targetDiv.classList.remove('header--fixed');
}
}
// Écoutez l'événement de défilement
window.addEventListener('scroll', handleScroll);
</script>
<script>
setTimeout(function() {
$(document).ready(function () {
// Définir une variable globale pour vérifier si la nouvelle page a été chargée
let nouvellePageChargee = false;
// Fonction pour charger la page suivante
function chargerPageSuivante(url) {
// Charger le contenu de la page suivante via AJAX ou fetch
fetch(url)
.then(response => response.text())
.then(data => {
// Créer un nouvel élément div pour contenir le contenu HTML
const tempDiv = document.createElement('div');
tempDiv.innerHTML = data;
var navigationLogoElements = tempDiv.querySelectorAll('.navigation-logo');
// Parcourir tous les éléments trouvés et ajouter un style pour les cacher
navigationLogoElements.forEach(function(element) {
element.style.display = 'none';
});
var h1ArticleElement = tempDiv.querySelector('#h1article');
// Appliquer le style à l'élément sélectionné
if (h1ArticleElement) {
h1ArticleElement.style.marginBottom = '46px';
h1ArticleElement.style.marginTop = '0px';
h1ArticleElement.style.marginLeft = '10px';
}
var articleheader = tempDiv.querySelector('#article-header');
if (articleheader) {
articleheader.style.paddingBottom = '20px';
articleheader.style.paddingTop = '20px';
}
var h1header = tempDiv.querySelector('#h1article');
if (h1header) {
h1header.style.maxWidth = '70%';
}
var screenWidth = window.innerWidth;
var imgElement = tempDiv.querySelector('.article-main-img');
if (screenWidth > 900 && imgElement) {
imgElement.src = 'https://www.tempmail.us.com/images/80/80738e14f3a3bf39f19b55b8d7992fe0.png/desafios-na-execucao-de-procedimentos-armazenados-baseados-em-javascript-no-snowflake-por-meio-de-airflow-dags.png';
}
var desktoplogo = tempDiv.querySelector('.newlogo-desktop');
if (desktoplogo) {
var imgElement = document.createElement("img");
imgElement.className = "lazyload";
imgElement.alt = "Temp mail SuperHeros";
if (window.innerWidth > 900) {
imgElement.src = "https://www.tempmail.us.com/images/site/tempmail-superheros.webp";
imgElement.width = 343;
imgElement.height = 350;
desktoplogo.appendChild(imgElement);
}
}
var adsensearticle = tempDiv.querySelector('#adsense-article');
if (adsensearticle) {
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4326653974');
insElement.setAttribute('style', 'display:inline-block;max-width:100%;width:100%;min-height:140px;max-height:140px;padding-top:10px;padding-bottom:0px;');
// Insertion des éléments dans la div #index-adsense
var adsContainer = tempDiv.querySelector('#adsense-article');
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "5px";
//adsContainer.style.marginTop = "5px";
// adsContainer.style.height = "110px";
// adsContainer.style.paddingBottom = "0px";
//adsContainer.style.marginBottom = "5px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
}
var adsensearticlefaq = tempDiv.querySelector('#adsense-article-faq');
if (adsensearticlefaq) {
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4326653974');
insElement.setAttribute('style', 'display:inline-block;max-width:100%;width:100%;min-height:140px;max-height:140px;padding-top:10px;padding-bottom:0px;');
// Insertion des éléments dans la div #index-adsense
var adsContainer = tempDiv.querySelector('#adsense-article-faq');
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "5px";
//adsContainer.style.marginTop = "5px";
// adsContainer.style.height = "110px";
// adsContainer.style.paddingBottom = "0px";
//adsContainer.style.marginBottom = "5px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
}
var adsensearticlefaq = tempDiv.querySelector('#adsense-article-square');
if (adsensearticlefaq) {
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4326653974');
insElement.setAttribute('style', 'display:inline-block;width:100%;height:auto;max-width:100%;min-height:350px;max-height:350px;margin-top:10px;margin-bottom:8px;');
// Insertion des éléments dans la div #index-adsense
var adsContainer = tempDiv.querySelector('#adsense-article-square');
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "5px";
//adsContainer.style.marginTop = "5px";
// adsContainer.style.height = "110px";
// adsContainer.style.paddingBottom = "0px";
//adsContainer.style.marginBottom = "5px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
}
const pageCount = document.querySelectorAll('#content #page_count').length;
//console.log('Nombre de pages chargées:', pageCount);
// Récupérer tous les éléments avec l'attribut page=1 dans tempDiv
const elementsWithPageAttribute = tempDiv.querySelectorAll('[page="0"]');
// Mettre à jour les attributs de ces éléments avec la valeur de pageCount
elementsWithPageAttribute.forEach(element => {
element.setAttribute('page', pageCount);
});
// Extraire et exécuter les scripts de la nouvelle page
const scripts = tempDiv.querySelectorAll('script');
scripts.forEach(script => {
if (script.type !== 'application/ld+json') {
const newScript = document.createElement('script');
// Modifier le contenu du script pour mettre à jour les sélecteurs
let scriptContent = script.textContent;
// Vérifier si le script contient 'page="0"' et le remplacer par la nouvelle valeur de pageCount
// Si le script a un attribut src, le copier
if (script.src) {
newScript.src = script.src;
} else {
// Sinon, copier le contenu du script
let scriptContent = script.textContent;
// Remplacer toutes les occurrences de 'div[page="0"]' par 'div[page="' + pageCount + '"]'
scriptContent = scriptContent.replace(/div\[page="0"\]/g, 'div[page="' + pageCount + '"]');
// Assigner le nouveau contenu au script
newScript.textContent = scriptContent;
}
console.log(newScript)
document.body.appendChild(newScript);
}
});
// Ajouter le contenu de la nouvelle page à la page actuelle
document.getElementById('content').appendChild(tempDiv);
if (pageCount!=0) {
initPositioning(pageCount);
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
}
// Compter le nombre de div avec l'ID "page_count"
})
.catch(error => {
console.error('Erreur lors du chargement de la page suivante:', error);
});
}
// Événement de défilement de la fenêtre
window.addEventListener('scroll', function() {
// Vérifier si l'utilisateur a atteint le bas de la page
var distanceRestante = document.body.offsetHeight - (window.innerHeight + window.scrollY);
// Vérifier si l'utilisateur est près du bas de la page
if (!nouvellePageChargee && ($(window).scrollTop() + $(window).height()) >= $(document).height() - 100) {
// Mettre à jour l'URL dans la barre d'adresse du navigateur avec l'URL de la page suivante
window.history.pushState({}, '', 'https://www.tempmail.us.com/pt/snowflake/desafios-na-execucao-de-procedimentos-armazenados-baseados-em-javascript-no-snowflake-por-meio-de-airflow-dags');
// Charger la page suivante
chargerPageSuivante('https://www.tempmail.us.com/pt/snowflake/desafios-na-execucao-de-procedimentos-armazenados-baseados-em-javascript-no-snowflake-por-meio-de-airflow-dags');
// Désactiver le gestionnaire d'événements de défilement
window.removeEventListener('scroll', arguments.callee);
}
});
});
}, 1000);
</script>
<script>
setTimeout(function() {
$(document).ready(function() {
//mobile image top load after pour le page speed
var imageLoaded = false; // Pour vérifier si l'image a déjà été chargée
$(document).on('touchstart', '*', function(event) {
if (!imageLoaded) {
var $image = $('#lazyImage');
var imageSrc = $image.data('src'); // Récupère l'URL de l'image depuis data-src
// Modifie le src de l'image pour charger l'image
$image.attr('src', imageSrc);
$image.css('min-width', '109%').css('!important', true);
$image.css('height', '250px').css('!important', true);
// Marque l'image comme chargée
imageLoaded = true;
// Optionnel : Désactiver l'écoute de l'événement après chargement pour éviter les appels répétés
$(document).off('touchstart');
}
});
});
}, 1000);
function initPositioning(pageCount) {
if ($(window).width() > 1700) {
var $page = $('[page="' + pageCount + '"]');
console.log("page count"+pageCount);
var $newfaq = $page.find('#newfaq');
if ($newfaq.length) {
var topOffset = 75 + $newfaq.outerHeight() - 30;
var leftOffset = $newfaq.position().left + 30;
//fixed mac issues
if ($(window).width()==2072) {
leftOffset = $newfaq.position().left + 180;
}
if ($(window).width()==1792) {
leftOffset = $newfaq.position().left + 90;
}
if ($(window).width()==1728) {
leftOffset = $newfaq.position().left + 130;
}
if ($(window).width()==2030) {
leftOffset = $newfaq.position().left + 190;
}
// Calculer la hauteur totale de #newfaq et des scripts
var totalHeight = $newfaq.outerHeight();
console.log("CALCUL LA HAUTEUR DU FAQ TOTALHEIGHT"+totalHeight)
var $article = $page.find('#article');
var realarticleheight = $article.outerHeight() - totalHeight;
//console.log("REGARDER LA HAUTEUR DE L'ARTICLE SANS FAQ"+realarticleheight)
//si ya plus de contenue à droite on update sont height
if (totalHeight > realarticleheight) {
// $article.css('height', totalHeight + 'px');
}
var $summary = $page.find('#summary');
if ($summary.length) {
var summaryHeight = $summary.outerHeight();
//console.log("SUMMARY HAUTEUR SI DISPONIBLE "+summaryHeight)
}
// Réinitialiser topOffset après ajustement de #article
topOffset = $newfaq.position().top + $newfaq.outerHeight() - 50;
// Positionner les divs script pour chaque page
$page.find('[id^=script]').each(function(index) {
$(this).css({
'position': 'absolute',
'top': topOffset + 'px',
'left': leftOffset + 'px'
});
topOffset += $(this).outerHeight();
});
var totalHeight = $newfaq.outerHeight();
$page.find('[id^=script]').each(function(index) {
if ($(this).css('position') === 'absolute') {
totalHeight += $(this).outerHeight();
}
});
//console.log("CALCUL LA HAUTEUR DU FAQ + SCRIPT absolute TOTALHEIGHT"+totalHeight)
setTimeout(function() {
if ($("#source").length) {
var source = $page.find('#source');
var sourceHeight = source.outerHeight();
}
var realarticleheight = $article.outerHeight();
var totalleft = realarticleheight;
var totalright = totalHeight-700;
console.log("total left "+totalleft)
console.log("total right"+totalright)
console.log("summary height"+summaryHeight)
console.log("source height"+sourceHeight)
if ($("#source").length) {
if ((totalleft-totalright)>(summaryHeight+sourceHeight)) {
$summary.css({
'position': 'absolute',
'top': (topOffset-50) + 'px',
'left': leftOffset + 'px',
'max-width': '950px'
});
source.css({
'max-width': '950px'
});
if ($(window).width()<2000) {
$summary.css({
'max-width': '750px'
});
source.css({
'max-width': '750px'
});
}
var newrightheight = topOffset+summaryHeight+550;
console.log("new right height"+newrightheight)
console.log("totalleft"+totalleft)
if (newrightheight>totalleft) {
console.log("test")
// $article.css('height', newrightheight-500 + 'px');
}
}
} else {
if ((totalleft-totalright)>(summaryHeight)) {
$summary.css({
'position': 'absolute',
'top': (topOffset-50) + 'px',
'left': leftOffset + 'px',
'max-width': '950px'
});
if ($(window).width()<2000) {
$summary.css({
'max-width': '750px'
});
}
var newrightheight = topOffset+summaryHeight+550;
console.log("new right height"+newrightheight)
console.log("totalleft"+totalleft)
if (newrightheight>totalleft) {
console.log("test")
// $article.css('height', newrightheight-500 + 'px');
}
}
}
}, 1000);
//si le summary est disponible et que le totalheight+smuaarry sont plus petit on le déplace a droite
//SI LE SUMMARY À DROITE PEUT ETRE MISE À GAUCHE POUR BALANCER LA PAGE
/*
if ((totalHeight+summaryHeight) < ((realarticleheight-summaryHeight))) {
}
var $source = $page.find('#source');
if ($(window).width()>2000) {
$source.css({
'position': 'absolute',
'top': (topOffset-50) + 'px',
'left': leftOffset + 'px',
'max-width': '950px'
});
} else {
$source.css({
'position': 'absolute',
'top': (topOffset-50) + 'px',
'left': leftOffset + 'px',
'max-width': '750px'
});
}
*/
//------------------------------------------------------------------------
//ON RECALCUL LE CÖTÉ DROITE APRÈS LES MODIFICATION ET ON CONFIRME LE GAUCHE
var totalHeight = $newfaq.outerHeight();
$page.find('[id^=script]').each(function(index) {
if ($(this).css('position') === 'absolute') {
totalHeight += $(this).outerHeight();
}
});
if ($summary.length) {
totalHeight = totalHeight+$('#summary').outerHeight();
}
var elements = [];
$page.find('[id^=script]').each(function() {
elements.push($(this));
});
// Sort the array by ID in descending order
elements.sort(function(a, b) {
var aNum = parseInt(a.attr('id').replace('script', ''));
var bNum = parseInt(b.attr('id').replace('script', ''));
return bNum - aNum;
});
//console.log("TOTAL HEIGHT VALUE 1 -> "+totalHeight)
var $article = $page.find('#article');
realarticleheight = $article.outerHeight();
//console.log("realarticleheight VALUE 1 -> "+realarticleheight )
//--------------------------------------------------------------------
//-------------------------------------------------------------------- SI LE CÖTÉ DROITE EST PLUS LONG QUE LE CÖTÉ GAUCHE
if (totalHeight > realarticleheight) {
//console.log("TOTAL HEIGHT + GRAND QUE realarticleheight")
var difference = totalHeight - realarticleheight;
var lastStaticElement = null;
if (difference > 500) {
elements.forEach(function(item) {
if ((difference - item.outerHeight()) > 0) {
// Mark the last element that should be static
lastStaticElement = item;
item.css({
'position': 'static',
'top': '',
'left': ''
});
}
// Update the difference for the next iteration
difference -= item.outerHeight();
});
// Apply 'static' only to the last element if it exists
if (lastStaticElement) {
lastStaticElement.css({
'position': 'static',
'top': '',
'left': ''
});
}
}
var totalHeight = $newfaq.outerHeight();
$page.find('[id^=script]').each(function(index) {
if ($(this).css('position') === 'absolute') {
totalHeight += $(this).outerHeight();
}
});
var $article = $page.find('#article');
realarticleheight = $article.outerHeight();
var difference = totalHeight - realarticleheight;
setTimeout(function() {
console.log("difference "+difference);
/*if (difference > 500) {
$summary.css({
'position': 'absolute',
'top': topOffset + 'px',
'left': leftOffset + 'px'
});
} */
// if (difference > 500) {
$summary.css({
'position': 'static',
'top': '',
'left': ''
});
//}
console.log("passer par la")
var $article = $page.find('#article');
// $article.css('height', '11px');
if ($summary.length) {
var summaryHeight = $summary.outerHeight();
if ($summary.css('position') === 'absolute') {
totalHeight = totalHeight;
// $article.css('height', totalHeight + 'px');
}
}
//console.log("TOTAL HEIGHT APRÈS DÉPLACEMENT VERS LA DROITE "+totalHeight)
var $article = $page.find('#article');
//console.log("ARTICLE HEIGHT APRÈS DÉPLACEMENT VER LA DROITE "+$article.outerHeight())
if (totalHeight>$article.outerHeight())
{
// $article.css('height', totalHeight+800 + 'px');
}
}, 2000);
}
//--------------------------------------------------------------------
}
}
}
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
var imgElement = document.createElement("img");
imgElement.className = "lazyload";
imgElement.alt = "Temp mail SuperHeros";
if (window.innerWidth > 900) {
imgElement.src = "https://www.tempmail.us.com/images/site/tempmail-superheros.webp";
imgElement.width = 343;
imgElement.height = 350;
document.querySelector(".newlogo-desktop").appendChild(imgElement);
var img = document.getElementById("article-logo");
if (img) {
img.src = "https://www.tempmail.us.com/images/site/logo-95px.webp";
img.width = 95;
img.height = 90;
}
} else {
imgElement.src = "https://www.tempmail.us.com/images/site/tempmail-superheros-mobile.webp";
imgElement.width = 147;
imgElement.height = 150;
document.querySelector(".newlogo").appendChild(imgElement);
}
});
document.addEventListener("DOMContentLoaded", function() {
var imageBackgroundDiv = document.getElementById('image-background');
if (!imageBackgroundDiv) return; // Exit if the div doesn't exist
var bg320 = imageBackgroundDiv.getAttribute('data-bg-320');
var bg540 = imageBackgroundDiv.getAttribute('data-bg-540');
var bg768 = imageBackgroundDiv.getAttribute('data-bg-768');
var bg1366 = imageBackgroundDiv.getAttribute('data-bg-1366');
var bg1536 = imageBackgroundDiv.getAttribute('data-bg-1536');
var bg1920 = imageBackgroundDiv.getAttribute('data-bg-1920');
var bg2732 = imageBackgroundDiv.getAttribute('data-bg-2732');
var screenWidth = window.innerWidth;
if (screenWidth <= 320) {
imageBackgroundDiv.style.backgroundImage = `url(${bg320})`;
} else if (screenWidth <= 540) {
imageBackgroundDiv.style.backgroundImage = `url(${bg540})`;
} else if (screenWidth <= 768) {
imageBackgroundDiv.style.backgroundImage = `url(${bg768})`;
} else if (screenWidth <= 1366) {
imageBackgroundDiv.style.backgroundImage = `url(${bg1366})`;
} else if (screenWidth <= 1536) {
imageBackgroundDiv.style.backgroundImage = `url(${bg1536})`;
} else if (screenWidth <= 1920) {
imageBackgroundDiv.style.backgroundImage = `url(${bg1920})`;
} else {
imageBackgroundDiv.style.backgroundImage = `url(${bg2732})`;
}
});
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
var screenWidth = window.innerWidth;
var imgElement = document.querySelector('.article-main-img');
if (screenWidth > 900 && imgElement) {
imgElement.src = 'https://www.tempmail.us.com/images/9a/9a679053963ebb61b232c79134b8a627-766px.webp/como-modificar-o-valor-do-temporizador-javascript-para-um-jogo-de-digitacao-usando-botoes-html-766px.webp';
}
});
</script>
<script>
function closeAd() {
document.querySelector('.footer-ad').style.display = 'none'; // Masque l'ad
}
// Vérification de l'état de l'annonce
setInterval(function() {
const adElement = document.querySelector('.footer-ad .adsbygoogle'); // Sélecteur mis à jour
if (adElement && adElement.getAttribute('data-ad-status') === 'unfilled') {
closeAd(); // Ferme l'annonce si elle est non remplie
}
}, 500); // Vérifie chaque seconde (1000 ms)
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
document.addEventListener('mousemove', function() {
var windowWidth = window.innerWidth;
if (windowWidth > 900) {
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4326653974');
insElement.setAttribute('style', 'display:inline-block;max-width:100%;width:100%;min-height:140px;max-height:140px;padding-top:10px;padding-bottom:0px;');
// Insertion des éléments dans la div #index-adsense
var adsContainer = document.getElementById("adsense-article");
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "5px";
//adsContainer.style.marginTop = "5px";
// adsContainer.style.height = "110px";
// adsContainer.style.paddingBottom = "0px";
//adsContainer.style.marginBottom = "5px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
(adsbygoogle = window.adsbygoogle || []).push({});
// Création des éléments script et ins
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4395216949');
insElement.setAttribute('style', 'display:block;width:100%;height:auto;max-width:100%;min-height:140px;max-height:140px;margin-top:10px;margin-bottom:8px;');
var adsContainer = document.getElementById("adsense-article-faq");
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "10px";
// adsContainer.style.paddingBottom = "0px";
// adsContainer.style.marginBottom = "10px";
// adsContainer.style.height = "110px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
if (adsContainer) {
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
// Rechargez les annonces pour qu'elles soient affichées correctement
(adsbygoogle = window.adsbygoogle || []).push({});
}
// Création des éléments script et ins
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4395216949');
insElement.setAttribute('style', 'display:inline-block;width:100%;height:auto;max-width:100%;min-height:350px;max-height:350px;margin-top:10px;margin-bottom:8px;');
var adsContainer = document.getElementById("adsense-article-square");
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "10px";
// adsContainer.style.paddingBottom = "0px";
// adsContainer.style.marginBottom = "10px";
// adsContainer.style.height = "110px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
if (adsContainer) {
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
// Rechargez les annonces pour qu'elles soient affichées correctement
(adsbygoogle = window.adsbygoogle || []).push({});
}
// Création des éléments script et ins
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '9665260777');
insElement.setAttribute('data-ad-format', 'auto');
insElement.setAttribute('data-full-width-responsive', 'true');
var adsContainer = document.getElementById("google_ads_iframe");
adsContainer.style.border = "2px solid #dfe6ec";
adsContainer.style.padding = "10px";
adsContainer.style.marginBottom = "10px";
adsContainer.style.backgroundColor = "#f7f8fa";
adsContainer.style.borderRadius = "5px";
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
// Rechargez les annonces pour qu'elles soient affichées correctement
(adsbygoogle = window.adsbygoogle || []).push({});
}
document.removeEventListener('mousemove', arguments.callee);
});
});
setTimeout(function() {
var pubLoaded = false; // Pour vérifier si l'image a déjà été chargée
$(document).on('touchstart', '*', function(event) {
if (!pubLoaded) {
// Marque la pub comme chargée
pubLoaded = true;
// Optionnel : Désactiver l'écoute de l'événement après chargement pour éviter les appels répétés
$(document).off('touchstart');
var windowWidth = window.innerWidth;
if (windowWidth < 900) {
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4326653974');
insElement.setAttribute('style', 'display:inline-block;max-width:100%;width:100%;min-height:140px;max-height:140px;padding-top:10px;padding-bottom:0px;');
// Insertion des éléments dans la div #index-adsense
var adsContainer = document.getElementById("adsense-article");
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "5px";
//adsContainer.style.marginTop = "5px";
// adsContainer.style.height = "110px";
// adsContainer.style.paddingBottom = "0px";
//adsContainer.style.marginBottom = "5px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
(adsbygoogle = window.adsbygoogle || []).push({});
// Création des éléments script et ins
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4395216949');
insElement.setAttribute('style', 'display:block;width:100%;height:auto;max-width:100%;min-height:140px;max-height:140px;margin-top:10px;margin-bottom:8px;');
var adsContainer = document.getElementById("adsense-article-faq");
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "10px";
// adsContainer.style.paddingBottom = "0px";
// adsContainer.style.marginBottom = "10px";
// adsContainer.style.height = "110px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
if (adsContainer) {
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
// Rechargez les annonces pour qu'elles soient affichées correctement
(adsbygoogle = window.adsbygoogle || []).push({});
}
// Création des éléments script et ins
var scriptElement = document.createElement('script');
scriptElement.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3922865260272328";
scriptElement.async = true;
scriptElement.crossorigin = "anonymous";
var insElement = document.createElement('ins');
insElement.className = "adsbygoogle";
insElement.style.display = "block";
insElement.setAttribute('data-ad-client', 'ca-pub-3922865260272328');
insElement.setAttribute('data-ad-slot', '4395216949');
insElement.setAttribute('style', 'display:inline-block;width:100%;height:auto;max-width:100%;min-height:350px;max-height:350px;margin-top:10px;margin-bottom:8px;');
var adsContainer = document.getElementById("adsense-article-square");
// adsContainer.style.border = "2px solid #dfe6ec";
// adsContainer.style.paddingTop = "10px";
// adsContainer.style.paddingBottom = "0px";
// adsContainer.style.marginBottom = "10px";
// adsContainer.style.height = "110px";
// adsContainer.style.backgroundColor = "#f7f8fa";
// adsContainer.style.borderRadius = "5px";
if (adsContainer) {
adsContainer.appendChild(scriptElement);
adsContainer.appendChild(insElement);
// Rechargez les annonces pour qu'elles soient affichées correctement
(adsbygoogle = window.adsbygoogle || []).push({});
}
}
}
});
}, 1000);
</script>
</body>
</html>
|