Bitte jetzt nicht den Sinn meines Vorhabens hinterfragen, weil ich dann sehr viel schreiben müsste, das aber dann für die Lösung unwichtig ist.
Gewünschte Funktion:
Jemand ruft eine bestimmte Webseite auf. Auf dieser soll ein Script dafür sorgen, dass direkt nach Laden der Seite eine Modalbox (Iframe) gestartet wird, in der sofort der Inhalt einer weiteren Webseite dargestellt wird. Sowohl die zunächst aufgerufene Webseite als auch diejenige, die dann in der Modalbox dargestellt werden soll, werden auf der gleichen Website gehostet, sodass es zu keiner XSS oder ähnlicher Problematik kommen kann.
Im Fall, dass jemand Scripte oder automatisch startende Modalboxen usw. im Browser deaktiviert hat, wird die Modalbox halt nicht angezeigt, sondern nur die zuerst geöffnete Webseite. Auf dieser befindet sich ein Button oder Link, mit dem dann die Modalbox manuell aufgerufen werden kann.
Technik dazu:
Ich verwende UiKit bzw. YooTheme Pagebuilder. Um dort elegant eine Modalbox mit dem Inhalt einer weiteren Webseite darstellen zu können (und zwar ohne Header und Footer), muss der Link für manuellen Aufruf in HTML so aussehen:
<div uk-lightbox="toggle: [data-type='iframe']">
<a href="webseite-fuer-modalbox?tmpl=template"
title="titel der webseite in der modalbox"
data-type="iframe"
data-caption="webseite in der modalbox"
data-title="Hier gehts zur webseite in der modalbox">
</div>hier klicken</a>
Der Trick, dass Header und Footer in der Modalbox nicht angezeigt werden, liegt in der Ergänzung der URL durch ?tmpl=template
Nun habe ich im Web nach dem passenden Javasccript-Schnippsel gesucht und fand dies hier:
<iframe id="BuKa" src=""></iframe>
<script>
// Warte, bis die Seite geladen ist
window.addEventListener('load', function() {
const iframe = document.getElementById('BuKa');
// Setze die URL des zu ladenden Inhalts
iframe.src = 'https://meine-domain.xx/webseite-fuer-modalbox; // Ersetze durch die gewünschte URL
});
</script>
Dieses Script habe ich getestet und es funktioniert. Aber ich kann die Aufgabe nicht lösen, den zwingend nötigen UiKit-Code in das Script hinein zu bringen.
Hierzu benötige ich hier Unterstützung! Danke!