HTML Laden eines «Objektes» abwarten: Wartehinweis für lahmen Server/Verbindung

cumulonimbus8

Fleet Admiral
Registriert
Apr. 2012
Beiträge
18.403
Hallo!

Wieder mal: „Verbessere doch mal diese Funktion (ohne den Rest umzuzkrempeln)!“

Situation: Die Seite fordert eine (sogar kleine) SWF an, aber der Server & IP kommen augenblicklich nicht aus dem Senf. Die Seite (also der Rest) und die Frage: »Was siehst du da?« sind schon geladen.
Da es eine Antwort «Nichts» gibt (Ziel: Flash funktioniert beim User nicht) kann der wahrheitsgemäß sein «Nichts» auslösen weil (ja) noch nichts da war was er allerdings sehr wohl gesehen hätte. Wäre natürlich blöd.
Von einer Manipulation der Auslösetaste [des Buttons oder was auch immer das man klickt] möchte ich tunlichst absehen. Das wäre wirklich nur der hinterletzte Ausweg; und wie lange verzögert werden muss ist auch nicht schlüssig festzuschreiben.


Wo kann ich im Codeblock {=Modul, welcher Flash abspielt}, oder ›kurz davor‹, etwas im Sinne von: »Hier lädt etwas!« einbauen das dann von der erwarteten SWF, wenn die völlig geladen ist, ›verdrängt‹ (ersetzt? überlagert?) wird?


Google-Treffer erzählen etwas von Manipulationen in Flash die erst nach Ende des Ladens eine JS ausführen (oder so was in der Art). Das ist unbrauchbar da ja erst mal die Flash geladen sein muss, und bis dahin ist ja der Rest vom Zuge längst abgefahren. (Und wie ich Flash programmieren muss so was zu tun, da habe ich noch weniger Ahnung von).


Es geht hier nicht um eine fertige Seite, das ist ›täglich‹ neu auf Mustern Aufbauendes welches von Laien modular zusammengesetzt wird. Eines dieser Module ist es das Flash abspielt. Eines von vielen.

Wenn das nicht geht - dann geht es nicht und das war es halt. Ein bisschen WWW-Wissen, dass ein Laden hängen kann, so viel Gutes im Menschen erwarte ich einfach mal…


CN8
 
Ich schätze mal, der beste Weg wäre, weite Teile des Codes asynchron zu laden, sprich per XMLHttpRequest. Erst wenn dieser Codebereich (inklusive der SWF) vorhanden ist, wird über einen Callback der "was siehst du" - Part erstellt.
 
Wie geht so was (Beispiel)?
Ich fürchte, dass der Rahmen in dem sich das abspielt so eine Lösung nicht zulässt. Ist nicht mein Rahmen.

CN8
 
http://de.wikipedia.org/wiki/XMLHttpRequest
Da hast du doch ein Beispiel. Den Rest verraten dir Unmengen guter Dokumentation, z.B. von Mozilla.

Du solltest es doch langsam gemerkt haben. Wir machen hier nicht deine Arbeit, außer du nimmst Geld in die Hand. Hilfestellung und Stoß in die richtige Richtung ja, komplette Problemlösung nein.
 
Ich habe das gelesen und nicht verstanden. Ajax? Gehört, aber keine Ahnung. Sysntaxbegriffe wie try, schon gehen, aber keine Ahnung.

Wenn du weiter meinst, dass Brosamen genügen und ich Tage und Wochen für ein bisschen Code investieren soll um mir am Schluss alles selbst beizubringen und zu erschließen bist du schief gewickelt. Die Zeit habe ich nicht.

Die von dir verweigerte Hilfe ist der Sinn einer Forums - sonst kannst du alles auf ein Wort reduzieren: Google. (Hast du mal die andern Unterforen hier angeschaut was da an Antworten geleistet wird; was wirklich forenüblich ist?)
Einen Programmierer um Hilfe zu bitten würde dieser quittieren indem er mir einen Vogel zeigt, sich unterfordert fühlte und auf Foren verwiese.

Auf deine Hilfsverweigerung bin ich gewillt Verzicht zu üben. Auch für die Zukunft. Wirklich Greifbares erlebte ich hier nur von anderen Teilnehmern.

CN8
 
cumulonimbus8 schrieb:
Ich habe das gelesen und nicht verstanden. Ajax? Gehört, aber keine Ahnung. Sysntaxbegriffe wie try, schon gehen, aber keine Ahnung.
AJAX gehört nun einmal zum Handwerkszeug, dieser Technologiezweig ist nicht erst seit gestern Kernelement des Netzes. Der Kram ist seit fast 10 Jahren unterwegs.
Und Try/Catch - Konstrukte gehören ebenfalls zum Handwerkszeug jedes Programmierers. Erst wird VERSUCHT, den Code auszuführen, dabei entstehende Exceptions werden ABGEFANGEN und behandelt.

Außerdem habe ich dir vor Ewigkeiten schon nahe gelegt, deine Projekte um eines der üblichen JavaScript - Frameworks zu ergänzen. http://api.jquery.com/jquery.ajax/ ist deutlich einfacher zu bedienen als das native XMLHttpRequest - Objekt.

Wenn du weiter meinst, dass Brosamen genügen und ich Tage und Wochen für ein bisschen Code investieren soll um mir am Schluss alles selbst beizubringen und zu erschließen bist du schief gewickelt. Die Zeit habe ich nicht.
Die Zeit wirst du dir aber nehmen müssen, so oft wie bei dir Fragen zu dem Thema aufkommen. So etwas gehört zum Handwerkszeug. Oder meinst du, ein KFZ-Mechaniker kann wegen jeder Schweißnaht und jeder Bremsleitung bei der Handwerkskammer nachfragen?
Du solltest eindeutig mal deinen Arbeitsvertrag nebst Stellenbeschreibung konsultieren. Wenn da nicht das drin steht, was du hier jedes Mal nachfragst, dann sollte dein AG eben für diese Zwecke eine entsprechend qualifizierte Person engagieren. Wozu gibts Freelancer? Wenn hingegen drin steht, dass auch dieser Kram zu deinem Aufgabenbereich gehört, dann hast du die Arschkarte. Dann bist du für deinen Job einfach massiv unterqualifiziert. In dem Falle solltest du den Finger aus dem Hintern ziehen und ein paar Seminare besuchen. Andernfalls könnte dein AG mal auf die Idee kommen, dich gegen etwas Kompetenteres einzutauschen.
Ich stolpere auch gelegentlich über Sachen, die ich in der gesetzten Frist nicht lösen kann, da es meinen Fachbereich und Erfahrungsschatz nur am Rande berührt. Das sage ich meinem Chef auch klipp und klar, womit der Schwarze Peter dann bei ihm liegt. Dann muss er sich eben einen Freelancer für den Kram holen. Auch das gehört zum Berufsleben: Wissen, wo die eigenen Grenzen sind. IT ist zu umfangreich, um alles zu können.

Außerdem: Was genau verstehst du nicht?
- Das DOM allgemein?
- Wie du Elemente in das DOM einfügst oder DOM-Elemente manipulierst?
- Wie du einen AJAX-Request startest?
- Wie du dessen Antwort auswertest?
Spezifiziere, und eventuell wird dir auch spezifisch geantwortet. Ansonsten ist die Antwort "Warum fragst du nicht Google" eben tatsächlich die einzig richtige. Denn schau mal, was Google mir da ausgespuckt hat...
http://blog.sebastian-martens.de/20...-callback-for-single-assets-include-swfflash/

Was du also definitiv lernen musst, ist der korrekte Umgang mit Suchmaschinen. Du hast da massive Defizite, und das solltest du dir endlich eingestehen.
 
Außerdem: Was genau verstehst du nicht?
Warum ich das so machen soll und nicht evtl. anders.

- Das DOM allgemein?
Hat sich mir noch nicht mit allen Feinheiten vorgestellt. Und die kann und will ich mir nicht merken. Das DOM muss man in irgendeiner Form ›bedienen/benutzen‹ - und ich weiß nicht wie. So einfach ist das.
Das ist so als stände ich vor einem Kla4. Dient zum Musizieren, hat Tasten, Pedale auch (und im Gegensatz zu einer Geige kann ich ein Bier drauf abstellen). Ich weiß sogar was passiert wenn man eine Taste drückt. Deswegen habe ich dennoch keinen Trichter wie ich irgendein Stück (Knöchelverzeichnis Kahnbein) zu klimpern hätte.

- Wie du Elemente in das DOM einfügst oder DOM-Elemente manipulierst?
Allein dass das geht muss man wissen bevor man erwägt etwas einzufügen und nach Syntax sucht wie die Manipulation erfolgen muss (müsste, könnte?)

- Wie du einen AJAX-Request startest?
Was ist das überhaupt, so ein Request? Was soll man wem wie übergeben [Input] um…
(Überhaupt, wo bekomme ich dieses AJAX denn her?)

- Wie du dessen Antwort auswertest?
was wie zurückzubekommen [Output]?


Richtig. Ich habe von all dem keinen Schimmer außer zu wissen, dass es AJAX gibt und dass AJAX einiges veranstalten kann.
Du hättest deine Antwort in die Zeile «Machs mit AJAX» (3 Wörter) gießen können, ich wäre nicht kürzer und nicht weiter als ich mit all den Ausführungen jetzt bin.

«Wie gebe ich „Hallo Welt!“aus?» - «Nimm HTML.»
Und nun?

Mit einem Syntaxbeispiel hätte ich erst mal einen Aufhänger zu dem ich weitere Fragen stellen könnte die ich mir im Moment nicht vorzustellen wüsste (auch wenn ich weiß, dass es sie gibt).

CN8
 
cumulonimbus8 schrieb:
Außerdem: Was genau verstehst du nicht?
Warum ich das so machen soll und nicht evtl. anders.
Vieles kann man auch anders machen, aber wozu? Effektive, standardkonforme Lösungen sind nun einmal das Optimum. Die Mythbusters haben auch bewiesen, dass man mit viereckigen Rädern fahren kann, aber so richtig toll war das nicht.

Hat sich mir noch nicht mit allen Feinheiten vorgestellt. Und die kann und will ich mir nicht merken. Das DOM muss man in irgendeiner Form ›bedienen/benutzen‹ - und ich weiß nicht wie. So einfach ist das.
Das Grundprinzip ist einfach: Dein HTML-Code (der ja eine enge Verwandschaft zu XML pflegt) hat Knoten, eben DOM-Elemente. Jedes Element hat Attribute (class, id, style,...) und kann Kinder (also weitere DOM-Elemente) haben.
Der Rest ergibt sich dann von selbst, da ist nichts Geheimnisvolles dran (ok, außer dem Shadow DOM). Das ist alles verdammt gut dokumentiert. Man muss nur eben lesen & lernen WOLLEN.

Deswegen habe ich dennoch keinen Trichter wie ich irgendein Stück (Knöchelverzeichnis Kahnbein) zu klimpern hätte.
Aber anders als beim Klavier musst du für semantisches HTML keine besonders geschickten Finger haben, keine sehr spezielle Begabung. Du hast ein sehr enges Regelwerk, die Spezifikationen des W3C. Und da Markup-Sprachen wie HTML und XML "sprechende", semantische Sprachen sind, musst du nur wissen, was du eigentlich sagen willst.

Wenn du sagen willst: "Ich möchte einen Absatz, und dieser lautet Foobar! Foobar!", dann heißt das in HTML gemäß W3C nichts anderes als: <p>Foobar! Foobar!</p>, wobei der schließende Tag in HTML5 sogar optional ist, aber zur besseren Lesbarkeit und Konsistenz gesetzt werden sollte. Oder ist etwas einfach nur grundlos kursiv => <i> oder möchtest du es hervorheben => <em>. Ist es einfch nur fett => <b> oder explizit betont => <strong>?

Allein dass das geht muss man wissen bevor man erwägt etwas einzufügen und nach Syntax sucht wie die Manipulation erfolgen muss (müsste, könnte?)
Grundlage JavaScript. Die müsstest du halt endlich lernen. Das kann dir keiner hier eintrichtern. Da musst du einfach Eigeninitiative zeigen. Aber das predige ich dir schon seit Ewigkeiten.

Was ist das überhaupt, so ein Request? Was soll man wem wie übergeben [Input] um…
(Überhaupt, wo bekomme ich dieses AJAX denn her?)
Komisch. Ich bin mir verdammt sicher, dass Wikipedia darauf eine verdammt gute Antwort hat. Jep... hat es.
Also was ist AJAX? AJAX ist ein asynchroner Request via JavaScript, meist (aber nicht zwingend) auf eine XML-Ressource. Was ist das für ein Request? Da wir hier von WEB-Technologien reden, ist auch hier die Antwort klar: HTTP(S). Stinknormales Request-Response-Spiel.

HTTP-Requests sind ebenfalls grundlegendes Handwerkszeug.

«Wie gebe ich „Hallo Welt!“aus?» - «Nimm HTML.»
Und nun?
Und nun nehme ich mir SelfHTML und gucke nach, wie das so geht. Oder ich weiß, wie HTML aufgebaut ist und frage zurück: Willst du's als semantisch "blinder" Inline-Text? Dann wäre es <span>Hallo Welt!</span> (zzgl. DOCTYPE, Head, Body,...)

Mit einem Syntaxbeispiel hätte ich erst mal einen Aufhänger zu dem ich weitere Fragen stellen könnte die ich mir im Moment nicht vorzustellen wüsste (auch wenn ich weiß, dass es sie gibt).
Du hast alle Beispiele, die du brauchen kannst. Wikipedia spuckt welche aus, Stackoverflow quillt über, Mozilla stellt auch welche bereit,...

Du kannst schlichtweg nicht erwarten, dass andere deine Arbeit machen oder für dich das Lernen übernehmen. Ich mag mich wiederholen, aber du stolperst in jedem Thread über dieselben elementaren Fehler: Du willst direkt zu Punkt C, ohne dabei Punkt A und B zu überschreiten. Da der Lernprozess aber nun einmal von A über B zu C führt, solltest du deine Hintern endlich zu SelfHTML & Co bewegen. Besorg dir Literatur. Geh Online-Tutorials durch. Stell dir selbst Aufgaben mit immer komplexeren Schwierigkeiten.
 
@cumulonimbus8

Du bist doch alles andere als dumm. Es ist verdammt wichtig dass du hierbei weißt was du machst. Auch hält sich der Aufwand dann stark in Grenzen, besonders wenn mal wieder was ähnliches anfällt. Das sind 10 Minuten Einlesen und 20 Minuten Testen (Beispielcode gibt es wirklich megatonnenweise via Google).

mfg,
Max
 
Zurück
Oben