Datei in div Bereich laden
Thorsten
- javascript
Hi,
habe eine Frage: Und zwar möchte ich, wenn man auf einen Text klickt, dass in eine Seite (z.B. http://www.google.de) in einen DIV-Bereich geladen wird. Ich habe halt einen span Bereich wo der Text drin steht, aber ich weiss nicht, wie ich mit Javascript die Seite in den DIV Bereich laden kann ...
<span onclick="document.getElementById('div').location.href='http://www.google.de'>Text</span>
Das habe ich schon probiert ... so hab ich es auf einer Seite im Internet gelesen, aber das funktioniert nicht so ganz :/
Vielen Dank
Thorsten
Hallo.
Wieso <div>? Dafür gibt es doch <iframe>.
MfG, at
Hallo.
Wieso <div>? Dafür gibt es doch <iframe>.
MfG, at
Hi at,
hmm .. ja, dass es mit iframe geht is klar .. aber gibt es keine Möglichkeit, die Datei in nen DIV-Bereich zu laden? Wie läuft das denn mit dem Hack, der hier angesprochen wurde?
Thorsten
Ok, weil du es bist ;-)
Also einer der Methoden die in Richtung der Ecke Hack gehen ist folgende:
Mittels JavaScript oder Java-Applet liest Du die Datei ein.
Siehe z.B. http://aktuell.de.selfhtml.org/artikel/javascript/file-open/index.htm
Dann kannst du den entsprechenden DIV dynamisch mit dem geladenen Inhalt erzeugen.
(insertAdjacentHTML (IE), createContextualFragment (Moz,Netscape))
Eine nicht sehr ausgefeilte Funktion zur cross-browser-fähigen Einfügung von geladenem String bekommst du auch gleich mit.
z.B. insertElementString("<div>Hallo</div>");
Natürlich mußt du noch daran arbeiten. Z.B. wird hier immer am Ende des Dokuments eingefügt. Die Browserweiche ist auch nicht gerade gut.
Aber zum Einstieg ist dir das sicherlich hilfreich.
function insertElementString(eString) {
if (document.all) {
document.body.insertAdjacentHTML("beforeEnd",eString);
} else {
var range = document.createRange();
range.setStartBefore(document.body.lastChild);
var docFrag = range.createContextualFragment(eString);
document.body.appendChild(docFrag);
}
}
Hallo!
Also es gibt eine Möglichkeit, allerding muß man das schon eher als Hack ansehen... Das muß Dir dann jemand anderes erklären. Eine einfache Möglichkeit besteht darin, statt den DIV ein IFRAME zu nehmen bzw. falls du unbedingt ein DIV brauchst, eben ein in ein div eingebettetes iframe.
WebFix