Ich hab für Cookie-Texte einen Paragrafen Code: <p></p> mit der Code: class=pdfNotice . Jetzt will ich diesen Paragrafen ausblenden wenn Code: id="adobe-dc-view" Code: .classList.contains('ViewSDK_parentRelativeHeight') . Die Bedingung: Code: if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('pdfNotice', 'hidden'); } funktioniert in der Console aber nicht in einem Javascript unter /GXModules/... Dieses Javascript liegt im selber Ordner in dem ein Javascript liegt welches mit der selben Funktion einen anderen Cookie-Text ausblendet. Das funktioniert tadellos. Wo übersehe ich den Fehler? Die ganze Funktion sieht so aus: Code: window.onload = (event) => { if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('pdfNotice', 'hidden'); } if (!document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('hidden', 'pdfNotice'); } };
vs. Ich weiß nicht, ob's zusätzlich noch pdfNotice als id hat. Aber zwecks Zugriff via Klasse wäre dann (bei nur einem Element) z.B. das hier: Code: document.querySelector('.pdfNotice')
es liegt irgendwie am window.onload ... Ohne den Aufruf Code: window.onload = (event) => {} funktionieren die beiden Bedingungen. Code: if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('pdfNotice', 'hidden'); } if (!document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('hidden', 'pdfNotice'); }
p.s auf der Startseite funktioniert es mit Code: style.display = 'none' if (emelent.style.display = none) bla etc usw
Code: window.onload = (socialFeed) => { if (document.getElementById('instagram').style.display != 'none') { document.getElementById('socialFeedNotice').classList.replace('show', 'hidden'); } if (document.getElementById('instagram').style.display == 'none') { document.getElementById('socialFeedNotice').classList.replace('hidden', 'show'); } if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('pdfNotice', 'hidden'); } if (!document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('hidden', 'pdfNotice'); } }; Die socialFeedNotice wird ausgeblendet wenn #id display: block aber die pdfNotice nicht wenn #id contains {ViewSDK_parentRelativeHeight} ViewSDK_parentRelativeHeight hat man nur in der Klasse wenn das Cookie akzeptiert wurde.
Es funktioniert jetzt mit setTimeout Code: setTimeout(() => { if (document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('show', 'hidden'); } if (!document.getElementById('adobe-dc-view').classList.contains('ViewSDK_parentRelativeHeight')) { document.getElementById('pdfNotice').classList.replace('hidden', 'show'); } }, 2000);