document.querySelector() | Bruges til at vælge HTML-elementet for dynamisk at opdatere browserfanens titel. Denne metode er specifik til at vælge elementer baseret på deres CSS-vælger, og her hjælper den med at ændre sidetitlen baseret på den valgte timerværdi.</td> </tr> <tr> <td>addEventListener()</td> <td>Binder en bestemt begivenhed (f.eks. klik) til et knapelement. I denne sammenhæng bruges den til at udløse funktionen changeTimer() når en bruger klikker på en knap, hvilket giver mulighed for dynamisk interaktion med timerindstillingerne.</td> </tr> <tr> <td>innerText</td> <td>Denne egenskab giver mulighed for at ændre den synlige tekst i et HTML-element. I denne løsning bruges den til at opdatere timerværdien i sidens titel, når der klikkes på en knap.</td> </tr> <tr> <td>onClick</td> <td>En indlejret hændelseshåndteringsattribut, der bruges i den alternative tilgang til at knytte funktionen changeTimer() direkte til knappens klikhændelse. Dette giver mulighed for en enklere, mindre modulær måde at opdatere timeren dynamisk på.</td> </tr> <tr> <td>test()</td> <td>Denne metode bruges i enhedstest med Jest. Det definerer et testtilfælde, hvor funktionen, der testes (f.eks. changeTimer()) evalueres for at sikre, at timeren opdateres korrekt. Det sikrer, at koden opfører sig som forventet i forskellige scenarier.</td> </tr> <tr> <td>expect()</td> <td>En Jest-kommando, der kontrollerer, om den faktiske værdi (som den opdaterede timer) matcher den forventede værdi. Det bruges i enhedstests for at bekræfte, at gameTime og document.title er opdateret korrekt efter et klik på en knap.</td> </tr> <tr> <td>toBe()</td> <td>Endnu en Jest-kommando, der kontrollerer streng lighed. Det sikrer, at efter at have kaldt changeTimer(), er spilletid nøjagtigt, hvad der forventes (f.eks. 30.000 ms i 30 sekunder).</td> </tr> <tr> <td>getElementById()</td> <td>Bruges til at vælge specifikke knapper efter deres ID'er (f.eks. 'tredive', 'tres'). Denne metode er vigtig for at knytte begivenhedslyttere til knapperne og udløse den dynamiske ændring af timeren som svar på brugerinteraktion.</td> </tr></table><h3 id="dev1">Oprettelse af dynamiske timere ved hjælp af JavaScript og HTML-knapper</h3><div class="bordersh3"></div><p>Ovenstående scripts er designet til at give en bruger mulighed for dynamisk at justere spiltimeren i et skrivespil ved at klikke på HTML-knapper. Til at begynde med erklærer vi en variabel <b>spilletid</b>, som holder tiden i millisekunder (30 sekunder som standard, ganget med 1000 for at konvertere til millisekunder). Nøglefunktionaliteten ligger i <b>changeTimer</b> funktion, som opdaterer timerværdien baseret på den knap, der er klikket på. Denne metode modtager værdien af knappen (f.eks. 30, 60 eller 90) og opdaterer spilletid variabel i overensstemmelse hermed. Derudover opdaterer scriptet sidens titel, så den afspejler den valgte timer-varighed, hvilket gør det klart for brugerne, hvor meget tid de har.</p><p>Til den dynamiske adfærd bruger vi begivenhedslyttere, specifikt <b>addEventListener</b> kommando. Dette gør det muligt for scriptet at reagere, når en bruger klikker på en af knapperne. Hver knap tildeles et ID og udløser, når der klikkes på den <b>changeTimer</b> funktion, passerer den respektive tidsværdi. Denne tilgang er nyttig til at håndtere flere knapper effektivt uden at kræve gentagne inline JavaScript i HTML-strukturen. Scriptet inkluderer også en reservemulighed, hvor du kan bruge inline hændelseshandlere som <b>påKlik</b> hvis enkelhed foretrækkes frem for modularitet.</p><p>I den alternative løsning binder vi direkte <b>påKlik</b> begivenhed til knapperne. Denne metode udfører <b>changeTimer</b> funktion direkte, når der trykkes på knappen. Det er en ligetil tilgang, men mangler fleksibiliteten i begivenhedslyttermetoden. Enkelheden af denne metode er nyttig til mindre, mindre komplekse applikationer. For mere skalerbar kode tilbyder begivenhedslyttere dog mere fleksibilitet og muliggør lettere opdateringer af scriptet uden at ændre HTML-strukturen direkte. Begge metoder har til formål at løse det samme problem, som er at justere timeren og opdatere titlen dynamisk baseret på brugerens valg.</p><p>Til sidst implementerer vi enhedstest ved hjælp af Jest, en JavaScript-testramme. De <b>prøve</b> funktioner er afgørende for at validere, at timeren opdateres korrekt. Ved at teste flere scenarier, såsom om timeren justerer til 30 sekunder, 60 sekunder eller 90 sekunder, sikrer disse enhedstests scriptets rigtighed. Kommandoer som <b>forvente</b> og <b>at Be</b> bruges til at verificere, at den faktiske timerværdi og sidetitel matcher de forventede resultater. Denne testfase sikrer, at din timerlogik fungerer korrekt på tværs af forskellige use cases, hvilket giver tillid til din løsnings robusthed.<div id="script0"><h3>Ændring af timerværdi med HTML-knapper til et skrivespil</h3><div class="bordersh3"></div><p class="langprog">JavaScript-baseret front-end tilgang med dynamisk tidsopdatering og 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>Alternativ tilgang: Brug af inline HTML- og JavaScript-funktioner</h3><div class="bordersh3"></div><p class="langprog">Indlejret JavaScript i HTML med direkte funktionskald ved knapklik</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>Enhedstest for ændringer i timerværdi i forskellige miljøer</h3><div class="bordersh3"></div><p class="langprog">JavaScript-baserede enhedstests ved hjælp af Jest til front-end 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>Forbedring af spilinteraktion med timertilpasning</h3><div class="bordersh3"></div><p>Et andet aspekt at overveje, når du ændrer timeren i et skrivespil, er den overordnede brugeroplevelse og grænseflade. Ud over at justere spiltimeren via knapper, er det vigtigt at give spillerne visuel feedback på deres valgte timer. Dette kan opnås ved at opdatere andre elementer på siden, såsom en nedtællingsvisning. Når der er klikket på en knap for at indstille timeren, bør nedtællingstimeren starte med det samme og give feedback i realtid til brugeren. Dette sikrer, at interaktionen er jævn og intuitiv, hvilket gør spillet mere engagerende.</p><p>For at implementere dette kan du bruge JavaScript <b>sætinterval</b> fungere. Når timeren er indstillet, sætinterval kan bruges til at oprette en nedtælling, der reducerer timerværdien hvert sekund. Når timeren når nul, kan funktionen enten stoppe spillet eller advare brugeren om, at tiden er gået. Denne funktionalitet, kombineret med evnen til dynamisk at ændre timeren ved hjælp af knapper, forbedrer gameplay-oplevelsen markant. En responsiv grænseflade er nøglen til at holde spillerne engageret, og feedback i realtid er en måde at opnå det på.</p><p>Endvidere bør fejlhåndtering overvejes. For eksempel, hvis en bruger forsøger at starte spillet uden at indstille en timer, kan du bede dem med en besked om at vælge et gyldigt tidspunkt. Ved at inkorporere valideringsmekanismer sikrer du, at spillet fungerer problemfrit og reducerer potentielle problemer. Denne type validering forbedrer ikke kun brugeroplevelsen, men bidrager også til dit spils pålidelighed og sikrer, at spillere ikke står over for unødvendig forvirring.</p><div id="newfaq"><div id="adsense-article-faq"></div><h4 id="faq">Almindelige spørgsmål om timertilpasning i JavaScript</h4><div class="bordersh4"></div><ol> <li>Hvordan bruger jeg <strong>setInterval</strong> at oprette en nedtælling?</li> <li>Du kan bruge <strong>setInterval</strong> ved at indstille den til at udføre hvert 1000 millisekund (1 sekund) og mindske timerværdien hver gang. Når værdien når nul, kan du stoppe nedtællingen vha <strong>clearInterval</strong>.</li> <li>Hvad er formålet med <strong>clearInterval</strong>?</li> <li><strong>clearInterval</strong> bruges til at stoppe en nedtælling eller enhver anden tilbagevendende handling startet af <strong>setInterval</strong>. Det er afgørende at sikre, at nedtællingen stopper, når den når nul.</li> <li>Hvordan kan jeg opdatere HTML-titlen dynamisk?</li> <li>Bruge <strong>document.title</strong> for at indstille teksten til sidetitlen. Dette kan opdateres i din <strong>changeTimer</strong> funktion baseret på den valgte tidsværdi.</li> <li>Kan jeg håndtere brugerfejl, når jeg vælger en timer?</li> <li>Ja, du kan tilføje validering ved at kontrollere, om der er valgt en gyldig timerindstilling, før du starter nedtællingen. Hvis der ikke er valgt et gyldigt tidspunkt, kan du vise en advarsel eller prompt.</li> <li>Hvordan udløser jeg en funktion, når der trykkes på en knap?</li> <li>Du kan knytte en funktion til en knap vha <strong>addEventListener</strong> eller ved direkte at bruge <strong>onClick</strong> i knappens HTML-element.</li></ol></div><div id="summary"><h4>Endelige tanker om timertilpasning</h4><div class="bordersh4"></div><p>At inkorporere dynamiske timerjusteringer i et skrivespil forbedrer spilleroplevelsen markant. Ved at tillade brugere at ændre timeren ved hjælp af simple HTML-knapper og opdatere spillets grænseflade i realtid, kan udviklere gøre deres spil mere interaktive og fleksible. Denne type kontrol hjælper med at imødekomme forskellige færdighedsniveauer.</p><p>Brug af bedste praksis såsom hændelseslyttere, fejlhåndtering og enhedstest sikrer, at spillet kører problemfrit og giver en pålidelig brugeroplevelse. Implementering af disse funktioner vil ikke kun forbedre spillets funktionalitet, men også holde spillerne mere engagerede med responsiv, brugervenlig mekanik.</p><div id="source"> <h6>Kilder og referencer til timertilpasning</h6> <div class="bordersh2"></div> <ol> <li>Detaljerede oplysninger om brug af JavaScript til DOM-manipulation og hændelseshåndtering kan findes på <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide" target="_blank">MDN Web Docs</a> .</li> <li>For at forstå <a href="https://jestjs.io/docs/getting-started" target="_blank">Spøg</a> framework og dets implementering til enhedstestning i JavaScript-applikationer.</li> <li>Omfattende indsigt i brugen <a href="https://www.w3schools.com/js/js_htmldom_eventlistener.asp" target="_blank">addEventListener</a> til håndtering af begivenheder i JavaScript er tilgængelige på W3Schools.</li> <li>Betydningen af realtidsopdateringer i webapplikationer, herunder timere, diskuteres 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">Leder du efter den mest effektive anonyme midlertidige mail på internettet? Vores gratis midlertidige e-mailtjeneste er den mest komplette, Modtag og send e-mails, Opret omdirigeringer til dine foretrukne e-mails. Behold din adgangskode, og brug din midlertidige e-mail resten af livet. POP3, IMAP og SMTP er tilgængelige gratis.</p>
<div style="width:100%;text-align:right;">
<a class="read-more--with-arrow" href="https://www.tempmail.us.com/da/">
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 = "Kopiere og indsætte";
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,"Indhold kopieret til udklipsholder!","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: 'da',
addQueryCat: "AND catclean='javascript'",
page: page,
currentid: "100074",
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/udfordringer-med-at-udf%C3%B8re-javascript-baserede-lagrede-procedurer-i-snowflake-via-airflow-dag-er.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/da/snowflake/udfordringer-med-at-udf%C3%B8re-javascript-baserede-lagrede-procedurer-i-snowflake-via-airflow-dag-er');
// Charger la page suivante
chargerPageSuivante('https://www.tempmail.us.com/da/snowflake/udfordringer-med-at-udf%C3%B8re-javascript-baserede-lagrede-procedurer-i-snowflake-via-airflow-dag-er');
// 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/sadan-%C3%A6ndres-javascript-timerv%C3%A6rdien-for-et-skrivespil-ved-hj%C3%A6lp-af-html-knapper-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>
|