Mein Produkt öffnet einen Webbrowser und zeigt auf eine HTML-Datei mit einer lokalen Flash-Anwendung. Wie erkenne ich programmgesteuert, ob diese Datei erfolgreich geladen wurde und wenn nicht, welche Ausnahme ausgelöst wurde? Gibt es eine Möglichkeit, dies mit Javascript zu tun?
Es ist nicht genug extern zu prüfen, ob die Datei auf der Festplatte existiert, weil ich andere Fehler gesehen habe (Race Conditions könnten beteiligt sein).
Ich beantworte meine eigene Frage: Ссылка
Hier ist ein Beispiel:
Flash
%Vor%JavaScript
%Vor%In Fällen, in denen Sie das swf nicht ändern können und das Hinzufügen eines ExternalInterfaces keine Option ist, können Sie immer noch Javascript verwenden, um den Status des swf zu erhalten. Beispielsweise können Sie document.getElementById (swf_id) .PercentLoaded () aus Javascript aufrufen und auf 100 warten.
Das wird Ihnen nicht sagen, welche Ausnahme ausgelöst wurde, wenn der SWF nicht geladen werden konnte, aber Sie werden zumindest sicher wissen, ob er geladen wurde. Weitere nützliche Anrufe finden Sie hier: Ссылка
Wenn die HTML-Seite geladen wird, ist der Flash-Inhalt möglicherweise noch nicht vollständig geladen. Wenn die SWF-Datei nicht geladen wird, scheint sie fehlgeschlagen zu sein.
Die Methode, die ich normalerweise empfehle, ist, dass die SWF sofort eine JavaScript-Funktion über ExternalInterface aufruft, wenn der Dokumentklassenkonstruktor aufgerufen wird. Nehmen wir an, dass die SWF-Datei nicht geladen werden kann, wenn diese JS-Funktion nicht aufgerufen wird.
Gemäß der Adobe ExternalInterface-Dokumentation: Ссылка Einige Webbrowser beschränken den Aufruf einer JavaScript-Funktion über ExternalInterface im Konstruktor der Dokumentklasse, wenn ein Pop-Blocker aktiviert ist.
Gibt es eine andere Lösung, um zu erkennen, wann der SWF-Film erfolgreich geladen wurde?
Tags und Links javascript flash