document.querySelector() | Används för att välja HTML-elementet för att dynamiskt uppdatera webbläsarflikens titel. Den här metoden är specifik för att välja element baserat på deras CSS-väljare, och här hjälper den att ändra sidtiteln baserat på det valda timervärdet.</td> </tr> <tr> <td>addEventListener()</td> <td>Binder en specifik händelse (t.ex. klick) till ett knappelement. I detta sammanhang används den för att utlösa funktionen changeTimer() när en användare klickar på en knapp, vilket möjliggör dynamisk interaktion med timerinställningarna.</td> </tr> <tr> <td>innerText</td> <td>Den här egenskapen gör det möjligt att modifiera den synliga texten i ett HTML-element. I den här lösningen används den för att uppdatera timervärdet i sidans titel när en knapp klickas.</td> </tr> <tr> <td>onClick</td> <td>Ett inline-händelsehanterarattribut som används i den alternativa metoden för att koppla funktionen changeTimer() direkt till knappens klickhändelse. Detta möjliggör ett enklare, mindre modulärt sätt att uppdatera timern dynamiskt.</td> </tr> <tr> <td>test()</td> <td>Denna metod används i enhetstestning med Jest. Den definierar ett testfall där funktionen som testas (t.ex. changeTimer()) utvärderas för att säkerställa att timern uppdateras korrekt. Det säkerställer att koden beter sig som förväntat i olika scenarier.</td> </tr> <tr> <td>expect()</td> <td>Ett Jest-kommando som kontrollerar om det faktiska värdet (som den uppdaterade timern) matchar det förväntade värdet. Den används i enhetstester för att verifiera att gameTime och document.title uppdateras korrekt efter ett knapptryck.</td> </tr> <tr> <td>toBe()</td> <td>Ännu ett Jest-kommando som kontrollerar strikt jämlikhet. Det säkerställer att efter att ha anropat changeTimer(), är speltiden exakt vad som förväntas (t.ex. 30 000 ms i 30 sekunder).</td> </tr> <tr> <td>getElementById()</td> <td>Används för att välja specifika knappar efter deras ID (t.ex. "trettio", "sextio"). Denna metod är viktig för att koppla händelseavlyssnare till knapparna och utlösa den dynamiska förändringen av timern som svar på användarinteraktion.</td> </tr></table><h3 id="dev1">Skapa dynamiska timer med JavaScript och HTML-knappar</h3><div class="bordersh3"></div><p>Skripten som tillhandahålls ovan är utformade för att tillåta en användare att dynamiskt justera speltimern i ett skrivspel genom att klicka på HTML-knappar. Inledningsvis deklarerar vi en variabel <b>speltid</b>, som håller tiden i millisekunder (30 sekunder som standard, multiplicerat med 1000 för att konvertera till millisekunder). Nyckelfunktionaliteten ligger i <b>changeTimer</b> funktion, som uppdaterar timervärdet baserat på knappen som klickas. Denna metod tar emot knappens värde (t.ex. 30, 60 eller 90) och uppdaterar speltid varierar i enlighet därmed. Dessutom uppdaterar skriptet sidans titel för att återspegla den valda timerns varaktighet, vilket gör det tydligt för användarna hur mycket tid de har.</p><p>För det dynamiska beteendet använder vi händelseavlyssnare, särskilt <b>addEventListener</b> kommando. Detta gör att skriptet kan reagera när en användare klickar på någon av knapparna. Varje knapp tilldelas ett ID och, när den klickas, utlöser den <b>changeTimer</b> funktion, passerar respektive tidsvärde. Det här tillvägagångssättet är användbart för att hantera flera knappar effektivt utan att behöva upprepande inline JavaScript i HTML-strukturen. Skriptet innehåller också ett reservalternativ där du kan använda inline-händelsehanterare som <b>påKlicka</b> om enkelhet föredras framför modularitet.</p><p>I den alternativa lösningen binder vi direkt <b>påKlicka</b> händelse till knapparna. Denna metod kör <b>changeTimer</b> funktion direkt när knappen klickas. Det är ett enkelt tillvägagångssätt men saknar flexibiliteten hos evenemangslyssnarmetoden. Enkelheten i denna metod är användbar för mindre, mindre komplexa applikationer. Men för mer skalbar kod erbjuder händelseavlyssnare mer flexibilitet och möjliggör enklare uppdateringar av skriptet utan att direkt ändra HTML-strukturen. Båda metoderna syftar till att lösa samma problem, som är att justera timern och uppdatera titeln dynamiskt baserat på användarens val.</p><p>Slutligen implementerar vi enhetstester med Jest, ett JavaScript-testramverk. De <b>testa</b> funktioner är avgörande för att verifiera att timern uppdateras korrekt. Genom att testa flera scenarier, till exempel om timern justerar till 30 sekunder, 60 sekunder eller 90 sekunder, säkerställer dessa enhetstester att skriptet är korrekt. Kommandon som <b>förvänta</b> och <b>vara</b> används för att verifiera att det faktiska timervärdet och sidtiteln matchar de förväntade resultaten. Denna testfas säkerställer att din timerlogik fungerar korrekt i olika användningsfall, vilket ger förtroende för din lösnings robusthet.<div id="script0"><h3>Ändra timervärde med HTML-knappar för ett skrivspel</h3><div class="bordersh3"></div><p class="langprog">JavaScript-baserad front-end-metod med dynamisk tidsuppdatering och titeljustering</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>Alternativt tillvägagångssätt: Använda inline HTML- och JavaScript-funktioner</h3><div class="bordersh3"></div><p class="langprog">Inline JavaScript i HTML med direkta funktionsanrop vid knappklick</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>Enhetstestning för förändringar av timervärden i olika miljöer</h3><div class="bordersh3"></div><p class="langprog">JavaScript-baserade enhetstester med Jest för frontend-miljövalidering</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>Förbättra spelinteraktion med timeranpassning</h3><div class="bordersh3"></div><p>En annan aspekt att tänka på när du ändrar timern i ett skrivspel är den övergripande användarupplevelsen och gränssnittet. Förutom att justera speltimern via knappar, är det viktigt att ge spelarna visuell feedback på sin valda timer. Detta kan uppnås genom att uppdatera andra element på sidan, till exempel en nedräkningsskärm. Efter att en knapp har klickats för att ställa in timern, bör nedräkningstimern starta omedelbart och ge realtidsfeedback till användaren. Detta säkerställer att interaktionen är smidig och intuitiv, vilket gör spelet mer engagerande.</p><p>För att implementera detta kan du använda JavaScript <b>setInterval</b> fungera. När timern är inställd, setInterval kan användas för att skapa en nedräkning som minskar timervärdet varje sekund. När timern når noll kan funktionen antingen stoppa spelet eller varna användaren om att tiden är ute. Denna funktion, i kombination med möjligheten att dynamiskt ändra timern med hjälp av knappar, förbättrar spelupplevelsen avsevärt. Ett responsivt gränssnitt är nyckeln till att hålla spelarna engagerade, och feedback i realtid är ett sätt att uppnå det.</p><p>Vidare bör felhantering övervägas. Till exempel, om en användare försöker starta spelet utan att ställa in en timer, kan du uppmana dem med ett meddelande att välja en giltig tid. Genom att införliva valideringsmekanismer säkerställer du att spelet fungerar smidigt och minskar potentiella problem. Den här typen av validering förbättrar inte bara användarupplevelsen utan bidrar också till ditt spels tillförlitlighet, vilket säkerställer att spelare inte möter onödig förvirring.</p><div id="newfaq"><div id="adsense-article-faq"></div><h4 id="faq">Vanliga frågor om timeranpassning i JavaScript</h4><div class="bordersh4"></div><ol> <li>Hur använder jag <strong>setInterval</strong> skapa en nedräkning?</li> <li>Du kan använda <strong>setInterval</strong> genom att ställa in den så att den körs var 1000:e millisekund (1 sekund) och minska timervärdet varje gång. När värdet når noll kan du stoppa nedräkningen med <strong>clearInterval</strong>.</li> <li>Vad är syftet med <strong>clearInterval</strong>?</li> <li><strong>clearInterval</strong> används för att stoppa en nedräkning eller någon annan återkommande åtgärd som startas av <strong>setInterval</strong>. Det är avgörande att se till att nedräkningen stannar när den når noll.</li> <li>Hur kan jag uppdatera HTML-titeln dynamiskt?</li> <li>Använda <strong>document.title</strong> för att ställa in texten i sidtiteln. Detta kan uppdateras inom din <strong>changeTimer</strong> funktion baserat på det valda tidsvärdet.</li> <li>Kan jag hantera användarfel när jag väljer en timer?</li> <li>Ja, du kan lägga till validering genom att kontrollera om ett giltigt timeralternativ har valts innan du startar nedräkningen. Om ingen giltig tid har valts kan du visa en varning eller uppmaning.</li> <li>Hur aktiverar jag en funktion när en knapp klickas?</li> <li>Du kan koppla en funktion till en knapp med hjälp av <strong>addEventListener</strong> eller genom att direkt använda <strong>onClick</strong> i knappens HTML-element.</li></ol></div><div id="summary"><h4>Slutliga tankar om timeranpassning</h4><div class="bordersh4"></div><p>Att integrera dynamiska timerjusteringar i ett skrivspel förbättrar spelarupplevelsen avsevärt. Genom att tillåta användare att ändra timern med enkla HTML-knappar och uppdatera spelets gränssnitt i realtid, kan utvecklare göra sina spel mer interaktiva och flexibla. Denna typ av kontroll hjälper till att tillgodose olika kompetensnivåer.</p><p>Att använda bästa praxis som händelseavlyssnare, felhantering och enhetstester säkerställer att spelet fungerar smidigt och ger en pålitlig användarupplevelse. Att implementera dessa funktioner kommer inte bara att förbättra spelets funktionalitet utan också hålla spelarna mer engagerade med lyhörd, användarvänlig mekanik.</p><div id="source"> <h6>Källor och referenser för timeranpassning</h6> <div class="bordersh2"></div> <ol> <li>Detaljerad information om att använda JavaScript för DOM-manipulation och händelsehantering finns på <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide" target="_blank">MDN Web Docs</a> .</li> <li>För att förstå <a href="https://jestjs.io/docs/getting-started" target="_blank">Skoj</a> ramverket och dess implementering för enhetstestning i JavaScript-applikationer.</li> <li>Omfattande insikter om användning <a href="https://www.w3schools.com/js/js_htmldom_eventlistener.asp" target="_blank">addEventListener</a> för hantering av händelser i JavaScript finns tillgängliga på W3Schools.</li> <li>Vikten av realtidsuppdateringar i webbapplikationer, inklusive timers, diskuteras i <a href="https://www.smashingmagazine.com/2020/02/real-time-app-web/" target="_blank">Smashing Magazine</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">Letar du efter den bäst presterande anonyma tillfälliga e-post på Internet? Vår gratis tillfälliga e-posttjänst är den mest kompletta, ta emot och skicka e-post, skapa omdirigeringar till dina favorit e-postmeddelanden. Behåll ditt lösenord och använd din tillfälliga e-post livet ut. POP3, IMAP och SMTP tillgängliga gratis.</p>
<div style="width:100%;text-align:right;">
<a class="read-more--with-arrow" href="https://www.tempmail.us.com/sv/">
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 = "Kopiera och klistra";
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,"Innehållet har kopierats till urklipp!","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: 'sv',
addQueryCat: "AND catclean='javascript'",
page: page,
currentid: "100102",
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/utmaningar-att-exekvera-javascript-baserade-lagrade-procedurer-i-snowflake-via-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/sv/snowflake/utmaningar-att-exekvera-javascript-baserade-lagrade-procedurer-i-snowflake-via-airflow-dags');
// Charger la page suivante
chargerPageSuivante('https://www.tempmail.us.com/sv/snowflake/utmaningar-att-exekvera-javascript-baserade-lagrade-procedurer-i-snowflake-via-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/hur-man-andrar-javascript-timervardet-for-ett-skrivspel-med-html-knappar-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>
|