Link-Target
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anzeigen
banner
bekommen
break
code
container
datei
gutes buch
http
index
laden
nachteil
navigation
null
realisieren
status
tab
target
vorhaben
zugreifen
-
Folgendes Problem:
Ich hab meine Homepage mit Div-Containern aufgebaut, es gibt folgende Container:
- Banner
- Navigation
- Main
Alle Div-Container haben auch entsprechende IDs:
Banner: <div id="banner">
Navigation: <div id="navigation">
Main: <div id="main">
In der Navigation befinden sich Links, die auf HTML-Dateien zugreifen sollten und diese dann im Div-Container mit der ID 'main' anzeigen sollen, die Links sind z.B. so aufgebaut:
<a href="home.html" target="main">
Wenn ich jetzt aber den Link anklicke, wird die home.html immer in einem neuen Tab geöffnet, ich habe auch schon ausprobiert in den Div-Container den PHP-Code "include();" zu schreiben, aber zwecklos. Wie kann ich es hinbekommen, dass die home.html im Div-Container main angezeigt wird?
Dankeschön im Voraus! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Über Ajax wäre dies durchaus zu realisieren. Du machst einen Request um die home.html zu laden und füllst anschließend den Container #main mit dem zurückgegebenen Inhalt.
Das ganze ist aber eigentlich völlig unnötig. Du kannst das target="" weglassen und das Menü einfach noch mal in die home.html einbauen.
Wenn du es mit includes machen willst, so kannst du ja die Seite per GET übergeben, z.b: index.php?page=home und dann per include einfügen. -
Ich hab jetzt nicht direkt ne Antwort aber mit den "" ist main doch ein String oder? Und somit erkennt ihn der Browser nicht als ID des DIV's oder was? Wenn ich falsch liege klärt mich auf.
-
Mit Divs geht so etwas nur mit Ajax.
Du müsstest das Ganze mit Frames machen: http://haegar.fh-swf.de/HTML_Tutorial/html-frames.htm
Dort wird es erklärt ;)
Nur dann kannst du ins target den Namen des Frames schreiben.
Dies erfordert wiederum einige Dateien mehr.
Zu Ajax: Das geht nur mit Javascript.
Wenn du dich dafür entscheidest, such dir am besten mal ein gutes Tutorial zu Ajax, das auch im IE6 funktioniert.
Zur Hilfe: Google Suchwörter: Ajax Tutorial.
Grüße
Marius
Beitrag geändert: 3.12.2008 19:04:24 von familie-schiffer -
Über Target kann man Frames(!) ansprechen, keine anderen Elemente wie zB Divs. Die meisten Brower öfnen ein neues Fenster oder Tab wenn der Frame nicht innerhalb eines Dokumentes gefunden wird. Dein Vorhaben musst du anders lösen und zwar indem man jede Seite einzeln erstellt oder serverseitig eine Dyanmik verleiht (zB mit PHP).
-
Und ließe sich über Javascript soetwas realisieren?
-
Ja!
Mit Ajax kann man dynamisch neue Seiteninhalte laden.
function requestit(seite,ele){ //erstellen des requests var req = null; try{ req = new XMLHttpRequest(); } catch (ms){ try{ req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (nonms){ try{ req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed){ req = null; } } } if (req == null) alert("Seite kann nicht geladen werden!"); req.open("GET", 'seite', true); //Beim abschliessen des request wird diese Funktion ausgeführt req.onreadystatechange = function(){ switch(req.readyState) { case 4: if(req.status!=200) { alert("Fehler:"+req.status); } else { ele.innerHTML = req.responseText; } break; default: return false; break; } }; req.send(null); }
Und dann zum Laden einfach:
requestit("http://seite.de/index.php",document.getElementById('main'));
main durch die gewünschte id ersetzen.
Grüße
Marius -
Ob es Sinn macht, Ajax (mit allen Vor- und Nachteilen) zu verwenden wenn man nur Seiten anzeigen möchte wage ich zu bezweifeln...
-
Außerdem bekommen Javascript-Abschalter nix zu sehen, daher ist die Lösung mit den Frames eigentlich besser.
Grüße
Marius -
Außerdem bekommen Javascript-Abschalter nix zu sehen, daher ist die Lösung mit den Frames eigentlich besser.
Grüße
Marius
am besten ist eine lösung mit php - include oder mit dem festcoden des menus... frames sind veraltet. -
Für PHP-NichtKenner ist das aber schwer, am besten er kauft sich ein gutes Buch wie:
Johann-Christian Hanke
PHP und MySQL für Kids
Grüße
Marius -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage