Vorlage:TransparenteIFrames: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 46: | Zeile 46: | ||
if (event.data.htmlNeedsColorScheme) document.querySelector('html').style.colorScheme = 'dark'; | if (event.data.htmlNeedsColorScheme) document.querySelector('html').style.colorScheme = 'dark'; | ||
}); | |||
</script></syntaxhighlight> | |||
|} | |||
}}}| | |||
}} | |||
{{#if:{{{rolloverEvent|}}}|{{{ | |||
{| class="wikitable" | |||
|- | |||
! Werbeform !! Position !! Code | |||
|- | |||
| Rollover-Event || In jeder Werbeform || <syntaxhighlight lang="html"><script> | |||
window.addEventListener("message", (event) => { | |||
const referrer = new URL(document.referrer).hostname; | |||
const origin = new URL(event.origin).hostname; | |||
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return; | |||
if (event.data.htmlNeedsColorScheme) document.querySelector('html').style.colorScheme = 'dark'; | |||
}); | |||
</script></syntaxhighlight> | |||
|} | |||
}}}| | |||
}} | |||
{{#if:{{{slidingSkin|}}}|{{{ | |||
{| class="wikitable" | |||
|- | |||
! Werbeform !! Position !! Code | |||
|- | |||
| Sliding Skin || P2 || <syntaxhighlight lang="html"><script> | |||
window.addEventListener("message", (event) => { | |||
const referrer = new URL(document.referrer).hostname; | |||
const origin = new URL(event.origin).hostname; | |||
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return; | |||
if (event.data.htmlNeedsColorScheme && event.data.isFirefox) document.querySelector('html').style.colorScheme = 'dark'; | |||
}); | }); | ||
</script></syntaxhighlight> | </script></syntaxhighlight> | ||
| Zeile 95: | Zeile 131: | ||
</script> | </script> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|- | |||
| Rollover-Event || In jeder Werbeform || <syntaxhighlight lang="html"><script> | |||
window.addEventListener("message", (event) => { | |||
const referrer = new URL(document.referrer).hostname; | |||
const origin = new URL(event.origin).hostname; | |||
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return; | |||
if (event.data.htmlNeedsColorScheme) document.querySelector('html').style.colorScheme = 'dark'; | |||
}); | |||
</script></syntaxhighlight> | |||
|- | |||
| Sliding Skin || P2 || <syntaxhighlight lang="html"><script> | |||
window.addEventListener("message", (event) => { | |||
const referrer = new URL(document.referrer).hostname; | |||
const origin = new URL(event.origin).hostname; | |||
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return; | |||
if (event.data.htmlNeedsColorScheme && event.data.isFirefox) document.querySelector('html').style.colorScheme = 'dark'; | |||
}); | |||
</script></syntaxhighlight> | |||
|} | |} | ||
</noinclude> | </noinclude> | ||
Version vom 8. Juni 2026, 17:34 Uhr
Transparente iFrames
Wird das Attribut color-scheme im eingebetteten Dokument nicht korrekt gesetzt, kann der Browser einen systemseitigen Hintergrund (z. B. Weiß im Light Mode, Dunkelgrau im Dark Mode) anstelle eines transparenten Hintergrunds rendern. Um sicherzustellen, dass der iFrame-Hintergrund in allen Umgebungen wirklich transparent bleibt, muss der folgende Code-Abschnitt abhängig von der Werbeform in das jeweilige Dokument vor dem schließenden </body>-Tag eingebunden werden.
| Werbeform | Position | Code |
|---|---|---|
| Page Skin | <script>
window.addEventListener("message", (event) => {
const referrer = new URL(document.referrer).hostname;
const origin = new URL(event.origin).hostname;
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return;
if (event.data.htmlNeedsColorScheme && event.data.isFirefox) document.querySelector('html').style.colorScheme = 'dark';
});
</script>
| |
| Value Ad | Top | <script>
window.addEventListener("message", (event) => {
const referrer = new URL(document.referrer).hostname;
const origin = new URL(event.origin).hostname;
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return;
if (event.data.htmlNeedsColorScheme && event.data.isFirefox) document.querySelector('html').style.colorScheme = 'dark';
});
</script>
|
| Value Ad | Left/Right | <script>
window.addEventListener("message", (event) => {
const referrer = new URL(document.referrer).hostname;
const origin = new URL(event.origin).hostname;
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return;
if (event.data.htmlNeedsColorScheme) document.querySelector('html').style.colorScheme = 'dark';
});
</script>
|
| Rollover-Event | In jeder Werbeform | <script>
window.addEventListener("message", (event) => {
const referrer = new URL(document.referrer).hostname;
const origin = new URL(event.origin).hostname;
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return;
if (event.data.htmlNeedsColorScheme) document.querySelector('html').style.colorScheme = 'dark';
});
</script>
|
| Sliding Skin | P2 | <script>
window.addEventListener("message", (event) => {
const referrer = new URL(document.referrer).hostname;
const origin = new URL(event.origin).hostname;
if (origin !== referrer || event.data.type !== "iqdIframeTransparency") return;
if (event.data.htmlNeedsColorScheme && event.data.isFirefox) document.querySelector('html').style.colorScheme = 'dark';
});
</script>
|