3.3k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hi,
ich bin dabei eine neu Homepage aufzubauen. Sie soll wie eine HP mit Frames funktionieren. Durch einen Klick auf einen Link im Auswahlmenü soll dei entsprechende Seite im Hauptfenster geladen werden. Nun habe ich hier https://supportnet.de/t/2212686 gelesen, dass das auch mit AJAX funktionieren soll.
Was mir noch unklar ist:
1. Müssen alle Seiten in XHTML geschrieben werden oder reicht auch normales HTML, oder nur die index.html in XHTML und die Anderen in HTML?
2. Funktioniert AJAX nur online oder auch offline?
3. Funktioniert AJAX nur mit neuen Browsern, ab welcher Version?
4. Wie müsste der Code ausehen, wenn ich HTML-Seiten über Links ins Hauptfenster laden möchte, analog einer Frameset-HP (Links ist das Menü und rechts daneben das Hauptfenster)?
5. In welcher Seite muss der AJAX-Code stehen, in allen oder nur in der index.html?
6. Wird css-style-Code von der eingefügten Seiten übernommen oder muss dieser extra irgendwo abgespeichert werden, wo?
7. Wo gibt es im Internet verständliche Literatur zu AJAX?

Ich würde mich freuen, wenn mir jemand helfen könnte.

Danke!

13 Antworten

0 Punkte
Beantwortet von
1. egal
2. letzteres nur bei GET-Requests
3. die gängigen
4. Antwort 11
5. die aufrufende
6. AJAX ändert per JavaScript die vorhandene Seite, entsprechend gilt das CSS der vorhandenen Seite. Natürlich kannst du das ebenfalls per JavaScript ändern.
7. hier
0 Punkte
Beantwortet von
@gast42

Danke für die schnelle Antwort.
Ich möchte zur Kontrolle die Seiten nicht egal hochladen müssen. Ich möchte die Funktion offline kontrolliren können. Muss der Cod dafür in Anwort 11 mit GET-Requests ergänzt werden, wenn Ja, wie? Muss dieser vordem Hochladen wieder entfernt werden?

nochmal zu Frage 6.)
Es gilt der css-Code der in der eingefügten Seite steht?
0 Punkte
Beantwortet von
der Code von katy ist absolut hinreichend und funktioniert so wie er ist auch offline (da steht nämlich ein GET-Request drin!)

Was das Skript macht, ist den Inhalt eines DIV auf der Seite zu füllen. mit dem, was in der Datei, die nachgeladen wird steht, zu füllen. Dies darf also gar keine vollständige HTML-Seite sein (oder du bearbeitest noch den String, der in http.responseText steht).

Es gilt immer das CSS der Seite, die schon im Browser geladen ist!

Probier's einfach mal!
0 Punkte
Beantwortet von
Ok, danke! Werde mich mal damit beschäftigen.
0 Punkte
Beantwortet von
Mit dem Firefox funktioniert das Einfügen der Seiten nur beim IE 5.5 nicht. Da wird die einzufügende Seite im Vollbildmodus und ohne css-Formatierung angezeigt.
Liegt das an der Version des IE oder muss da im AJAX-Script noch was ergänzt werden?
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Ersteres. Kommt auch drauf an, was genau du einfügen wolltest. Der MSIE 5.5 hat mit nicht-ASCII-Zeichen schnell Probleme, wenn es um AJAX geht. Im Zweifelsfall liegt die Schuld aber eher bei(diese)m Browser.
0 Punkte
Beantwortet von
ohne Quelltext oder Online-Beispiel keine Fehleranalyse!!!
0 Punkte
Beantwortet von
Die HP ist noch nicht zum Hochladen. Hier mal die HTML-Seite, die eingefügt werden soll und im IE nicht angezeigt wird. Ebenso funktioniert auf dieser Seite im Firfox der Link zur Kontaktseite nicht. Es erscheint die Impressumseite im Vollbild und unformatiert ohne css-Style.

[code]<h2>Impressum</h2>

<p>Verantwortlich f&uuml;r den Inhalt dieser Internetseite ist gem&auml;&szlig; &sect; 10 Absatz 3 des Mediendienststaatsvertrages (MDSTV) bzw. im Sinne des Teledienstegesetzes (TDG) die:</p>
<br>

<blockquote style="margin-left:100px">

<p><h3><b>Gefl&uuml;gelz&uuml;chtervereinigung in Sachsen e.V. </b></h3></p>

<p>Vertreten durch den<br>
<br>
<b>Vereinsvorsitzenden i.A.</b><br>
Horst Bayer<br>
<br>
Schulstra&szlig;e 8<br>
D - 0375 Zwickau<br>
<br>
Telefon: +49 (0)375 / 111111<br>
E-Mail&nbsp;: &nbsp;<b><a href="kontakt.htm" target="_self">Kontakt</a></b>
</p>
<br>
<p>
<b>Amtsgericht Zwickau</b><br>
HRB 1234<br>
</p>
<br>
<p>
<b>Register</b><br>
Handwerkskammer Chemnitz - <a href="http://www.hwk-chemnitz.de" target="_blank">www.hwk-chemnitz.de</a><br>
Betriebsnummer: 12345<br>
</p>
<br>
<p>
<b>Umsatzsteuer-Identifikationsnummer</b><br>
Ust.IdNr.: DE141381611<br>
</p>[code]
0 Punkte
Beantwortet von
Der HTML-Code ist zwar stark fehlerbehaftet, aber sollte es nicht logisch sein, dass der JavaScript-Teil hier ausschlaggebend ist?
0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Da per AJAX eingebundener HTML-Code direkt in die Dokumentstruktur des "Elternelements" eingefügt wird, kann fehlerhaftes HTML sich hier durchaus fatal auswirken, besonders nicht ordentlich geschlossene oder verschachtelte Blockelement-Tags wie <p>, <div>, <blockquote> etc...

Ohne genaue Kenntnis der "Hauptseite" einschließlich des verwendeten JavaScript-Codes kann man hier allerdings nur raten, was die tatsächliche Fehlerursache ist.

Für den IE empfehle ich "IE Developer Toolbar" und "Fiddler" zur Fehlersuche zu verwenden, für den FF die AddOns "Live HTTP Headers", "Firebug" und "Web Developer".
...