Das iFrame Element
Dem iFrame möchte ich eine besondere Aufmerksamkeit widmen.
Vor Jahren, als der Internet Explorer noch meinte, Eigenschaften immer etwas anders zu interpretieren, hatte ich iFrames (ja klar - nur eins) auf der index.php eingesetzt wie folgt: <iframe src='url_zur_main.php' id='start' name='start' width='100%' height='100%' scrolling='no' marginheight='0' marginwidth='0' frameborder='0'></iframe>
.
Der einzige Grund: der Internet Explorer wollte partout am recht Rand einen Streifen lassen. Ich weiß es nicht aber vermute, daß dort der Platz für Scrollbalken nicht zu verhindern war. Wäre dies kein Problem (zumindest für mich wars das), hätte ich den Inhalt der main.php -Seite in der index-Seite untergebracht. Alle anderen Browser hätten das anstandslos erledigt. Irgendwann konnte ich feststellen, dass es nun auch für den IE nicht mehr nötig wäre. Aber: nichts hält sich länger, als ein Provisorium!
Dass die anscheinend nur für den Übergang gesetzte iFrame-Lösung aber einen echten Lösungsansatz bietet bei der Bewältigung von php-generierten Seiteninhalten, kam irgend wann später.
Und wieso?
Bei jedem neuen Seitenaufruf wird der gesamte Inhalt des iFrames neu geladen. Soll aber über JavaScript eine sich ständig wiederholender Anzeige ununterbrochen laufen, dann wird jedesmals die Anzeige neu gestartet. Das nervt!
Es bedarf also einer Sicherung aktueller Variablenwerte.
Ein Beispiel zur Verdeutlichung: Der Inhalt des Containers #himmel { background-repeat: repeat-x;} soll ununterbrochen sich um 1px alle 100ms verschieben. Das tut er auch bis eine neue Seite aufgerufen wird. Und ... das Bild springt wieder in die Ausgangsposition. Das ist nun wirklich nicht das, was ich will!
Den QuellCode zitiere ich aber aus diesem Projekt:
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
<var id='var'><?php echo $machwas; ?></var>
|
Das funktioniert deshalb, weil außerhalb des iFramesInhaltes PHP auf Elemente des Elternfensters keinen Einfluß haben. Und jetzt ist klar:
Sowas geht nicht ohne iFrame
Die in Variablen gespeicherten Informationen aus den ElternElementen der index.php sind dann auch von überall abrufbar. Das habe ich in ein paar Sprüche gepackt:
Entsprechend der gespeicherten Werte werden die Aussagen formuliert.
Was wäre noch zu iFrames zu sagen? Nichts!
Weitere iFrames sind bei mir überflüssig geworden. Die Inhalte in den <article>-, <section>-, <nav> usw. -tags werden mittels PHP includiert. Die Inhalte legen sich einfach über Hintergrundbilder, Muster oder was weiß ich. Null-Beschränkung was die Gestaltung betrifft. Das würde ein iFrame nur überdecken. Und für die Inhaltsseiten passend die Hintergrundgestaltung des <main>-Elementes zu positionieren, das geht zu weit und wäre einfach nur Frickelei.