Frage

Normalerweise werden Flash- und Flex-Anwendungen mithilfe einer Kombination aus beidem in HTML eingebettet object Und embed Tags oder häufiger mit JavaScript.Wenn Sie jedoch direkt auf eine SWF-Datei verlinken, wird diese im Browserfenster geöffnet und ohne in die Adressleiste zu schauen, können Sie nicht erkennen, dass sie nicht in HTML eingebettet wurde und die Größe auf 100 % Breite und Höhe eingestellt ist.

Angesichts des Mehraufwands an HTML, CSS und JavaScript, der zum Einbetten einer Flash- oder Flex-Anwendung erforderlich ist, die 100 % des Browserfensters ausfüllt, welche Nachteile hat es, stattdessen direkt auf die SWF-Datei zu verlinken?Was sind die Vorteile?

Mir fallen ein Vorteil und drei Nachteile ein:Sie benötigen nicht die über 100 Zeilen HTML, JavaScript und CSS, die sonst erforderlich wären, aber Sie haben keine Plugin-Erkennung, keine Versionsprüfung und verlieren Ihre beste SEO-Option (progressive Verbesserung).

Aktualisieren Bleiben Sie nicht bei den über 100 Zeilen hängen, ich meine einfach, dass die Menge an Code, die zum Einbetten einer SWF-Datei erforderlich ist, ziemlich groß ist (und ich meine, einschließlich Bibliotheken wie SWFObject), und dieser dient nur der Anzeige der SWF-Datei, was möglich ist kann ohne eine einzige Zeile erfolgen, indem direkt darauf verlinkt wird.

War es hilfreich?

Lösung

Upsides für die Verknüpfung direkt in SWF-Datei:

  • Schneller Zugriff
  • Sie wissen, es ist ein Flash-Film, noch bevor Sie auf den Link klicken
  • Skipping die html & js-Dateien (Sie werden nicht mit CSS 100% Flash-Film anzuzeigen sowieso)

Nachteil dieser Methode:

  • Sie haben wenig Kontrolle über Filmeinstellungen zurück.
  • Sie können keine benutzerdefinierten Hintergrundfarben verwenden, Transparenz etc.
  • Sie können nicht flashVars verwenden, um Daten auf den Film aus dem HTML senden
  • Kann nicht aus dem Film auf der Webseite fscommand
  • Film Proportionen sind nie die gleiche wie das Seitenverhältnis des Benutzerfensters
  • Sie können nicht für Browser incompetability kompensieren (Der nächste neue Browser kommt und du bist in Schwierigkeiten)
  • Keine SEO
  • Keine Seitentitel, schlecht, wenn man die Leute wollen richtig Lesezeichen.
  • Keine Plug-Informationen, Download-Links etc.
  • Wenn die SWF zu externen Datenquellen verbindet, können Sie Cross-Domain-Probleme haben.
  • Umbenennen der SWF-Datei wird auch die Verknüpfung umbenennen. Bad für die Versionierung.

Kurz gesagt, für eine komplizierte Anwendung - immer den HTML. Für eine einfache Animation Film können Sie in beide Richtungen gehen.

Andere Tipps

Sie verlieren auch die externe Steuerung des SWF. Wenn es in HTML eingebettet ist können Sie Javascript verwenden, um mit dem SWF zu kommunizieren. Wenn die SWF-Datei geladen wird direkt das nicht möglich sein kann.

Ihre 100+ Zeilen zitieren scheint mir ziemlich hoch. Der HTML-Code, erzeugt eine FlashDevelop SWF zum Einbetten von nur etwa 35 Zeilen, mit einer aus einer einzelnen swfobject.js Datei enthält. Sie sollten nicht die js Datei berühren müssen, und höchstens nur in sehr geringen Möglichkeiten, die HTML optimieren würde, um es zu tun, was Sie wollen.

Nach meiner Erfahrung nicht alle Browser ordnungsgemäß zu behandeln diese. Ich bin mir nicht wirklich sicher, warum (oder welche Browser), aber ich habe versehentlich Links wie diese Kunden gelegentlich geschickt und sie haben oft wieder verwirrt. Ich vermute, dass ihr Browser fordert sie die Datei herunterzuladen, anstatt sie richtig angezeigt werden kann.

Ein Kopf ich denken kann, ist die Möglichkeit, Parameter in der direkten URL zum SWF angeben GET, die dann in der Flash-Anwendung (über Application.application.parameters in Flex verfügbar sein werden, nicht sicher, wie man sie in Flash CS3 zugreifen möchte ). Dies kann natürlich durch andere Mittel als auch erreicht werden, wenn Sie einen HTML-Wrapper haben, aber diese Art und Weise ist es weniger Arbeit.

Warum würden Sie brauchen mehr als 100 Zeilen Code? Mit so etwas wie swfobject reduziert ganz diese amout einige (und Sie in der Regel nicht wollen, zu tun Plugin-Erkennung, usw. von Hand sowieso).

Weitere Vorteile:

  1. Leichtgewichtler Blick Cuz Sie können mit allen Werkzeugleisten des Headers loszuwerden, die es zu sammeln scheinen und auch die Bildlaufleiste ist nicht erforderlich. Dies erhöht die Auswirkungen, wenn Sie eine Menge Action in einem kurzen Blitz zu zeigen versuchen.
  2. Die Biggie: Sie können es in einem Fenster, die Sie größer oder kleiner und machen den Film größer und kleiner ziehen. Der Spieler wird den Film Größe des Fensters Sie haben zu füllen. Dies ist ideal für Dinge wie Gruppenfotos, wo jeder will sich und ihre Freunde vergrößern zu finden. Ich habe dies für eine Flash-Produktion einen Rahmen getan!

Nachteil dieser Methode: Wie bei Pop-ups in der Regel, wenn Sie für mehrere diejenigen aus dem gleichen Ort fragen, und Sie unterschiedliche Größe Pop-ups wollen, neigen die Browser einfach die Größe außer Kraft setzen Sie stellen in window.open und wiederverwendet werden, was oben ist. Sie müssen alle geöffneten Popup schließen, so dass die window.open eine frische schaffen machen. Es wird kompliziert, und ich habe nicht in der Lage, es zu erhalten über mehrere Seiten in einer Website zu arbeiten. Wer das erfolgreich getan hat, pls schreiben, wie!

Adobe sollte mit dem Standard-Einbettungs sich schämen, die die puprose der Konvention über Konfiguration besiegt. ^ Prüfen swfobject (wie oben erwähnt) oder swfin

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top