Widget:GOV-Test
Aus Altes Köln
Variante: Aufruf von GOV mit Iframe und "show"
Variante: responsiv
<style>
body {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
.iframe-wrapper {
width: 100%; /* Volle Breite des Containers */
position: relative;
overflow: hidden; /* Überschüssige Inhalte außerhalb der Box ausblenden */
}
iframe {
position: relative;
border: none;
transform-origin: top left; /* Skalierung startet oben links */
}
/* Dynamische Skalierung anpassen */
@media (max-width: 768px) {
iframe {
width: calc(100% * var(--scale)); /* Skaliere auf die dynamische Breite */
height: auto; /* Automatische Höhe basierend auf Breite */
}
}
</style>
<script>
const iframe = document.getElementById('responsive-iframe');
const wrapper = document.querySelector('.iframe-wrapper');
function adjustIframeScale() {
const viewportWidth = wrapper.offsetWidth; // Aktuelle Breite des Containers
const iframeWidth = 1024; // Die bekannte Breite der iframe-Seite (z. B. Desktop-Version)
// Berechne den Skalierungsfaktor
const scale = viewportWidth / iframeWidth;
// Setze den Skalierungsfaktor als CSS-Variable
iframe.style.setProperty('--scale', scale);
iframe.style.transform = `scale(${scale})`;
// Passe die Höhe an, um den Inhalt vollständig sichtbar zu machen
iframe.style.height = `${iframe.contentWindow.document.body.scrollHeight * scale}px`;
}
// Initiale Anpassung, wenn die Seite geladen wird
window.addEventListener('load', adjustIframeScale);
// Skalierung erneut anpassen, wenn die Größe des Viewports geändert wird
window.addEventListener('resize', adjustIframeScale);
</script>
