AW: Links aus der Navigation in einem CSS Iframe öffen
Hi TerrorCrewGermany,
nein, noobie hat nich mehr Ahnung als die Pros
Wie gesagt, mit CSS kann man keine Elemente generieren/erstellen. Auch deine Beispielseite kann/macht das nicht. Es sind Elemente, die in HTML "erstellt" werden und mit CSS "gestylt" werden. Hört sich ein wenig klugscheißerisch an, ist aber halt so.
Um ein Element zu befüllen, gibt es verschiedene Möglichkeiten.
PHP: Die einfachste Variante ist mit include. Um etwaige Fehler von vornherein auszuschliessen, setze ich lieber include_once ein.
Bsp.:
PHP:
<div id="iframe">
<?php include_once($_GET['site'] .'.php'); ?>
</div>
Die andere Möglichkeit mit PHP wäre vorher zu buffern.
Bsp.:
PHP:
ob_start();
include_once($_GET['site'] .'.php');
$page = ob_get_contents();
ob_end_clean();
//Die gesamte Seite steht nun in der Variablen $page
$replace = "Hallo Welt!";
preg_replace('/<div id="iframe">(.*)</div>/', $replacement, $page);
//Ungetestet! Lasse mich gerne korrigieren
Wenn du allerdings keinen Seitenreload wünscht, wäre der Einsatz eines richtigen IFrames besser. Diesen kann man ja so stylen, dass man es nicht als IFrame erkennt.
Bsp.:
HTML:
<a href="deine_datei.html" target="iframe">Link</a>
<iframe name="iframe"></iframe>
Bei einem Klick auf den (Hyper-)Link wird dieser in dem (I-)Frame mit dem Namen "iframe" geladen.
IFrame ist aber nicht gewünscht. Seitenreload hast du nichts zu gesagt. Wenn du also keinen Seitenreload wünscht, ist Javascript das nächste Gebiet für dich.
Bsp. ohne Framework:
Code:
<div id="iframe"></div>
<script type="text/javascript">
document.getElementById("iframe").innerHTML = 'Hallo Welt!';
</script>
Mit Prototype-Framework:
Code:
<div id="iframe"></div>
<script type="text/javascript">
$('iframe').update('Hallo Welt!');
//Oder mit AJAX Inhalte vom Server nachladen
new Ajax.Updater('iframe', 'deine_datei.html');
//Oder das befüllen des Elements selbst in die Hand nehmen
new Ajax.Request('deine_datei.html', {
onComplete: function(transport) {
$('iframe').update(transport.responseText);
}
});
</script>
Ich denke, du wirst nicht alles verstanden haben, aber du hast ja nun einige Stichwörter zum Googlen
mfg
ak