| | #1 (Permalink) |
| Entwickler Registriert seit: Apr 2002 Ort: Edinburgh, UK
Beiträge: 301
|
Moin Leute, habe gerade eine nette kleine Möglichkeit entdeckt um ein fehlgeschlagenes loadMovie() zu erkennen wenn z.B. die Datei nicht existiert. Das Flash Ausgabefenster gibt dann ja immer Error opening URL "meineurl" aus. Das in ActionScript einfach nachzuweisen geht nicht. Allerdings mit einem Workaround über XML. ActionScript:
Der onLoad Handler ruft die Funktion manageLoad auf wenn Daten geparst und geladen wurden. Dabei sendet onLoad die Variable success als Parameter mit. success gibt true zurück wenn Daten geparst und geladen wurden. success gibt false zurück wenn das nicht geschehen ist. Viele Webserver geben bei nicht gefundenen Dateien 404 HTML Dokumente aus, die von Flash genauso geparst werden als wären sie XML Daten. Dadurch wird success trotzdem true, auch wenn eine XML Datei gar nicht existiert. Wenn der Webserver 404 HTML Dokumente ausgibt ist success also immer true. Deshalb müssen wir jetzt die geparsten Daten mit dem 404 Dokument von unserem Webserver vergleichen. Ich suche deshalb nach der Zeichenfolge "404". Und wenn "404" gefunden wurde, existiert die Datei nicht. Wenn "404" nicht gefunden wird, existiert sie. Die letzte else wird nur erreicht wenn success false wird. Und das kann entweder offline passieren oder online falls der Webserver keine 404 Dokumente ausgibt. Um fehlgeschlagene loadMovie() wiederzuerkennen könnte man außerdem vielleicht noch ein serverseitiges Script per loadVariables() abfragen. Das serverseitiges Script müsste dann irgendwie erkennen können ob die Datei existiert. Gruß Alex Geändert von Alex U. (08-10-2002 um 12:51 Uhr) |
| | |
| | #2 (Permalink) |
| Flash-Wüstling Registriert seit: Dec 2001 Ort: Halle/Saale
Beiträge: 4.300
|
Hi Alex ! Super Idee ! Vielleicht sollte man einfach das gesamte erhaltene Dokument nach dem 404-String durchsuchen ? if(escape(meinXML).indexOf("%3Ch1%3E%0A404%20Not%2 0found%20%3Cbr%3E%20fnord%23 23%0A%3C%2Fbr%3E%3C%2Fh1%3E")!=(-1)) { Man bekommt ja wahrscheinlich nicht den http-Header raus - oder ? tanti saluti, pheidrias
__________________ Ehrlich währt am LÄNGSTEN ! Geändert von pheidrias (07-10-2002 um 19:53 Uhr) |
| | |
| | #4 (Permalink) | |
| Entwickler Registriert seit: Apr 2002 Ort: Edinburgh, UK
Beiträge: 301
| Zitat:
indexOf() ist eine Idee: ActionScript:
Wenn allerdings Flash aus einer Datei die Zeichenfolge "404" parst, wird die Datei als 404 Dokument vom Webserver erkannt. Ich glaube aber nicht das geparste SWFs "404" ausgeben. Ich bekomme ungefähr immer so etwas heraus: FWS[ Fazit: Da man nur SWFs laden will, wird wohl der String "404" nie vorkommen und indexOf() ist besser. Ich habe den ersten Post erneuert. Gruß Alex Geändert von Alex U. (07-10-2002 um 21:40 Uhr) | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |