|
|
|
|
Hallo,
ich versuche eine kleine Seite zu schreiben, die 4 Tabs hat.
Beim Klick auf die Tabs wird per XMLHttpRequest der Inhalt für die Seite geladen, dazu wird der Tab optisch verändert um zu erkennen auf welcher Seite man gerade ist.
Dies geschieht natürlich durch Javascript.
Leider funktioniert es bei mir nur mit Firefox, Opera lädt die Requests gar nicht (keine Ahnung warum), und stellt die Farbe der Tabs auch nicht um.
Im IE 6 funktionieren die Requests und der Tabwechsel, allerdings sind die Tabs oben abgeschnitte, auch das ist mir ein Rätsel. Den IE 7 habe ich nicht, wäre super wenn jemand das ausprobieren könnnte, idealerweise mit Screenshots.
Die besagte Seite gibts hier
Ich bin am Ende mit meinem Latein, bitte helft mir weiter!
/Ach, und Login Daten braucht ihr natürlich keine, die Tabs funktionieren auch so, nicht aber die Uploads
// Und Siggi, hier haste mal ein Beispiel für ne Macke an Opera
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von psyched am 12.12.2007 18:01]
|
|
|
|
|
|
Nimm doch für den Ajax-Request Prototype, jQuery oder wie die alle heißen. Die funktionieren so gut wie in allen Browsern.
|
|
|
|
|
|
|
Ne, ich will keine 80kb Javascript Library da reinpacken.
Eigentlich sollte das doch mit Opera auch einwandfrei funktionieren, XMLHttpRequest() kennt der doch als Funktion.
Und Ajax hat mit eben dieser Lib vor ein paar Tagen einwandfrei funktioniert, zwar nur indem "It works" ausgegeben wird aber das macht ja keinen Unterschied.
Außerdem ist es seltsam dass Opera dieses active(this) einfach so ignoriert.
Wirklich toll wärs auch zu wissen wie ich beim IE einen Rand obenhin bekomme.
/Ich glaube es liegt irgendwie daran dass Opera das href="#" Attribute vorzieht, da das ja nix macht passiert nichts.
Dem spricht entgegen dass ein href="javascript:..." nichts an der Sache ändert, genausowenig wie ein return false am Ende vom onclick Attribut.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von psyched am 12.12.2007 18:15]
|
|
|
|
|
|
Na super, jetzt spinnt der IE auch rum und markiert die Tabs erst wenn man 2mal drauf klickt.
So ein Haufen Scheisse Codemüll.
|
|
|
|
|
|
|
kann es sein, dass du in irgendeinem alten cache rumrührst? ich hab die seite grad mit opera und firefox ausprobiert und die können beide das gleiche: tabs wechseln.
links2 scheint übrigens kein ajax zu können.
|
|
|
|
|
|
|
Ja... ich habs gerade mal getestet. Geht wunderbar in Opera.
|
|
|
|
|
|
|
Weil ichs mittlerweile gerichtet habe
/Hat denn keiner ne Idee wegen der dummen IE Tabs ohne border?
// Auch das ist gegessen.
Danke für die Hilfe, kann gegessen werden.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von psyched am 12.12.2007 19:49]
|
|
|
|
|
|
|
|
|
|
Kommt bei beiden Tabs :x
|
|
|
|
|
|
|
schon mal auf anderen rechnern gecheckt? sein PoC tut hier wunderbar. ich würd an deiner stelle mal deine konfiguration checken.
|
|
|
|
|
|
|
Mit Opera funktionierts bei mir, der IE bietet die xhtml Datei zum Download an.
|
|
|
|
|
|
|
Naja, was sein könnte ist, dass dein FireFox so frei ist und die per XmlHttpRequest geholte Datei auch validiert bevor er sie akzeptiert. Und in der Tat sind die nachgeladenen Seiten nicht XHTML1.1 konform
// Wobei ich auch gar keine validierung nach XML erwarten würde, da ich vom XMLHttpRequestObject lediglich den nakten Content hole, keinen XML-DOM-Baum. Ob sich der FF da jetzt richtig oder falsch verhält, darüber kann man streiten oder spezifikationen von W3C wälzen.
Was allerdings an der funktion des Javascriptes erstmal nichts ändert
// Und zum fehlverhaltenvom IE sagte ich ja bereits, dass dieser mit dem für XHTML vorgesehen MIME-Type nicht umgehen kann. IE Fehler. Ich halte mich weitesgehend an die geltenden Standards
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von GH@NDI am 13.12.2007 15:45]
|
|
|
|
|
|
Um das jetzt alles zusammenzufassen:
Jeder sollte Textbrowser benutzen.
|
|
|
|
|
|
|
gott verhüte, nein. oder kennst du einen textbrowser, der ajax kann? jeder sollte standardkonforme technik einsetzen.
|
|
|
|
|
|
|
Ja, natürlich
|
|
|
|
|
|
|
Man darf den Ajax Content nur nicht mit XML Content-type Header senden, sondern als HTML, dann muckt der FF nicht rum (was er bei XML Header zu recht tut imho).
¤: Oder text/plain anstatt HTML, da man ja auch kein komplettes HTML Dokument sendet.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Meister Zopf am 14.12.2007 22:28]
|
|
|
|
|
|
Evtl hilfts ja responseXML anstatt responseText zu nehmen wenn man XML zurückkriegt...
|
|
|
|
|
|
|
responseXML gibt dir einen DOM Baum zurück, während responseText einfach nur den Body des HTTP-Requests durchreicht. Deswegen kann man hier ja auch evtl. streiten ob bei der Verwendung von responseText eine validierung der Übergebenen Daten nötig/gewünscht ist. Lade ich z.B. reine Taten einer Textatei nach (ohne HTML, XML, oer sonst was) würde diese Datei weder als HTML noch als XML oder XHTML validieren, da ja keine entsprechenden Root-Knoten definiert sind.
Und aus sicht des zu veränderten X/HTML Code ist es ja auch druchaus vertetbar, innerhalb eines gültigen Nodes der PCDATA empfangen darf, auch einfach schlicht PCDATA über die Leitung zu holen und direkt einzufügen
|
|
|
|
|
|
Thema: Ajax, Tabs und Opera |