Re(17): ach ja, noch 3 Punkte, schnucki:
Geizhals » Forum » Programmierung » Firefox ist ein !!!RIESENSCHROTT!!! (118 Beiträge, 2134 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Firefox ist ein !!!RIESENSCHROTT!!!
14.04.2006, 16:07:00
Hi !

Habe ein Problem auf folgendes reduzieren können:

<html>

<script type='text/javascript'>
        function show(was)
        {
                document.write(
                        was + '=' +
                        document.getElementById('x').style[was] +
                        '<br>');
        }

</script>

&lt;div id='x' style="z-index:10; background-color:yellow; border: 1px solid grey;">bubu</div>
&lt;script type='text/javascript'>
        show('border');
        show('background-color');
        show('z-index');
&lt;/script>

&lt;/html>



das Beispiel liefert

bubu
border=1px solid grey
background-color=undefined
z-index=undefined


Also kann er scheinbar keine Style-Attribute mit "-" drin auslesen...

Kann ja nicht sein, daß FF sowohl zu blöd für ein getAttribute am Style ist - als auch zu blöd für ein lesen eines Styles mit "-" drinnen... Nach langem suchen im eigenen Code (weil man sich ja denkt, daß der FF net so deppat sein kann) habe ich Google angeworfen... JA, man muß den style beim lesen von "z-index" auf "zIndex" umbenamsen... so ein Shaaaaß!

Was man mit dem ganzen Gefrickel an Zeit verliert... brrr.

Kein Wunder, daß 90% der User auf IE schwören...

EDIT:
Ach ja, wenn sich wer wundert, warum ich mit document.write rumshice...
Weil der schwule FF bei alert() auf meiner zu debuggenden Seite gerne mal mit "permissiondenied in XULElement.." oder so antwortet... Nach nachgoogeln habe ich gefunden, daß der Bug im FF mindestens seit 2004 drinnen ist... Soviel zu den traumhaften schnellen Bugfixes... ARGH.

Man sollte ja meinen, daß offene Standards, OpenSource-Entwickler und deren OpenSource-Produkte harmonieren, aber NEIN. Da zitier' ich mal Pervasive:

alles ! ! ! ! G E F R I C K E L ! ! ! !


EDIT²:
Noch blödsinniger an dem ganzen ist, daß FF kein

style='zIndex=10;'
versteht. Für dasselbe Trum will er also [zumindest] 2 verschiedene Schreibweisen. Man muß sich also einen Frickelparser basteln, der ein "-x" in "X" umwandelt.. ARGH. Wenn's wenigstens eine Funktion dafür dabei hätten a la "QuoteStyleMeta" oder so.. aber auch net...

14.04.2006, 17:39 Uhr - Editiert von gepeinigter_aon_neukunde, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
.  Re: Firefox ist ein !!!RIESENSCHROTT!!!  (Pervasive am 14.04.2006, 16:08:45)
..  Re(2): Firefox ist ein !!!RIESENSCHROTT!!!  (hariw am 14.04.2006, 16:11:41)
....  Re(4): Firefox ist ein !!!RIESENSCHROTT!!!  (hariw am 14.04.2006, 16:30:02)
......  Re(6): Firefox ist ein !!!RIESENSCHROTT!!!  (hariw am 14.04.2006, 16:36:46)
....  Re(4): Firefox ist ein !!!RIESENSCHROTT!!!  (Fly am 14.04.2006, 16:27:21)
....  Re(4): Firefox ist ein !!!RIESENSCHROTT!!!  (nergal am 14.04.2006, 16:49:45)
.  Re: Firefox ist ein !!!RIESENSCHROTT!!!  (nergal am 14.04.2006, 16:48:28)
.  Re: Firefox ist ein !!!RIESENSCHROTT!!!  (user96106 am 14.04.2006, 16:56:31)
...  Re(3): Firefox ist ein !!!RIESENSCHROTT!!!  (Fly am 14.04.2006, 17:10:08)
.  Re: Firefox ist ein !!!RIESENSCHROTT!!!  (Fly am 14.04.2006, 17:00:18)
...  Re(3): Firefox ist ein !!!RIESENSCHROTT!!!  (japh am 14.04.2006, 21:17:41)
...  Re: ach ja, noch 3 Punkte, schnucki:  (Dr. Watson am 14.04.2006, 21:53:55)
.....  Re(3): ach ja, noch 3 Punkte, schnucki:  (RevX am 15.04.2006, 21:01:31)
.......  Re(5): ach ja, noch 3 Punkte, schnucki:  (RevX am 15.04.2006, 21:40:21)
.........  Re(7): ach ja, noch 3 Punkte, schnucki:  (RevX am 15.04.2006, 21:52:48)
...........  Re(9): ach ja, noch 3 Punkte, schnucki:  (RevX am 15.04.2006, 22:44:58)
...................
Re(17): ach ja, noch 3 Punkte, schnucki:
18.04.2006, 13:58:44

Sobald der Benutzer Daten ins Feld eingibt, wird dieses mit jedem Tasten druck überprüft, und solange Daten drinstehen, die nicht korrekt sind, bleibt das Feld rot hinterlegt.
Sind jetzt genug/die richtigen Zeichen im Feld, wird es grün bzw. gar nicht hinterlegt, gesperrt, und dann der Request ausgeführt.
Sobald der Request beendet ist, wird das Feld wieder entsperrt.

Das klappt bei mir nicht - weil ich eben Anfangs noch nicht wissen kann, ob der Text gültig ist.
Das ganze Klumpat ist eben ein AJAX-Teil. Er befüllt eine Input-Box, und sobald er sie verläßt, löse ich einen XMLHttpRequest aus. Die Antwort kann nun eine XML-Datei mit weiterführenden Detaildaten sein (Im Beispiel mit der Rechnungsnummer wären es die Positionen) - oder eben eine Antwort a la "Diese Rechnungsnummer gibt es nicht".

In einem anderen Thread habe ich die Problemlösung diskutiert. Es geht darum, daß es ein paar 1000 Gruppen gibt - und zu jeder Gruppe bis zu 100 Mitglieder.

Der Benutzer tippt also die Gruppe ein - und bekommt eine per InputBox und einem Div mit href's zusammengebaute "Quasi-Comboselectbox". Mein erster Ansatz war, die paar 1000 Gruppen (zwischen 2k und 9k) einfach bei onLoad per AJAX zu holen. das Problem dabei ist, daß der DB-Server die Antwort in ein 8-10 msec fertig hatte, der Client aber doch recht beschäftigt war. Ich habe es nicht weiter verfolgt, aber ich habe den Verdacht, daß das durchparsen von ein paar Tausend XML-Tags Zeitintensiv unter Javascript ist (ich loopte durch den Array, den ich per o.responseXML erhalten habe und fetchte mir die Attribute raus).

Daher habe ich es eben so umgebaut, daß nichts vorher geladen wird - und jedes Verlassen eine Query auslöst. Das klappt bei ISDN in rund 1/4 sek bei ungecachten Daten - scheint mir also zumutbar. Problem war eben nur, daß ich erst nach vollständiger Eingabe die Prüfung machen kann...

Formular-absenden entfällt bei mir - jedes Verlassen der Feldes löst neue Aktionen aus und führt so den Benutzer. Dein Weg ist sicher eleganter - scheiterte aber an den Datenmengen zum Vorfetchen.



Die Funktion xmlHttpRequest selbst liefert genug Fehlercodes zurück, die du selbst auswerten, und dem Anwender präsentieren musst.

Da hast mich nicht verstanden.
Es geht darum, daß ich meine eigenen JS-Code-Fehler debuggen will.
Angenommen, ich schreibe in meiner Function versehentlich

 mach_was();
 o.setAttributte('visible','false') ;
 mach_was_anderes();

Normalerweise erhältst du einen Fehler in der JS-Console, daß o keine Methode "AtribuTTe" kennt - und du kannst debuggen.

Bei den Funktionen, die als Antwort eines XMLHttpRequests aufgerufen werden, kommt aber keine Ausgabe in der Console - stattdessen bricht er lautlos hier ab und mach_was_anderes wird nicht durchgeführt... Es geht mir also nicht um die Fehler, die man per XMLHttpRequest auswerten kann, wenn der Request selbst nicht klappte - sondern um das debuggen der aufgerufenen Funktion.


Zum Debuggen hab ich immer noch alert() verwendet, und es gab bisher keine Situation, wo das nicht funktioniert hat. Du hast da also irgendwo den "Hund drin".

Definitiv gab es auf meiner Seite das Problem. Statt der Alertbox konnte ich einen XULElement-error lesen (mit genau der alert-Zeile) und es kam eben keine Alertbox. Kein Witz.

Abschließend: Eine Website so zu designen, daß sie nur auf den allerneuesten Browsern rennt, halte ich für mutig. Ich gehe mit dir wohl eh einer Meinung, daß JS nur unobstrusive verwendet werden sollte und es nur den Behaviour-Layer darstellen soll (zumindest habe ich das aus deinen Postings rausgelesen). Bei AJAX spielt's das aber leider nicht - denn IMHO ist AJAX genau die ReferenzDesignverletzung sondern spielt genau andersrum.




Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
................  Re(14): ach ja, noch 3 Punkte, schnucki:  (Ingenico am 18.04.2006, 18:41:57)
..................  Re(16): ach ja, noch 3 Punkte, schnucki:  (Ingenico am 19.04.2006, 08:03:41)
.............  Re(11): ach ja, noch 3 Punkte, schnucki:  (RevX am 18.04.2006, 20:19:00)
.  Re: Firefox ist ein !!!RIESENSCHROTT!!!  (japh am 14.04.2006, 21:14:10)
...  Re(3): Firefox ist ein !!!RIESENSCHROTT!!!  (japh am 14.04.2006, 21:59:53)
.....  Re(5): Firefox ist ein !!!RIESENSCHROTT!!!  (japh am 14.04.2006, 22:17:06)
.  Re: Firefox ist ein !!!RIESENSCHROTT!!!  (tuvix am 15.04.2006, 08:22:08)
...  Re(3): Firefox ist ein !!!RIESENSCHROTT!!!  (tuvix am 18.04.2006, 20:25:19)
. Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (substitute am 15.04.2006, 17:53:58)
..  Re: wer ist so blöd für lau zu arbeiten?  (japh am 18.04.2006, 15:00:48)
.  Re: Firefox ist ein !!!RIESENSCHROTT!!!  (AllinAll am 18.04.2006, 19:36:40)
.  Re: Firefox ist ein !!!RIESENSCHROTT!!!  (West am 19.04.2006, 09:10:25)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung