Lynky: flashbanner: IE meckert ueber moegliches risiko

Hi,

habe ein Flashbanner in meine Seite eingebunden ueber das div layers via javascript als Subnavigation gelegt werden. Das Object fuer das Flash sieht dabei so aus:

<object classid="clsid:166B1BCA-3F9C-11CF-8075-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=6,0,29,0">
  <param name="src" value="/images/flash/<?= $ActNav; ?>.swf">
  <param name="wmode" value="transparent" />
  <embed src="/images/flash/<?= $ActNav; ?>.swf" pluginspage="http://www.macromedia.com/shockwave/download/" wmode="transparent" width="794" height="117" style="border-bottom:2px solid #092768" onmouseover="javascript:hidewholesubnav();"></embed>
</object>

So, alles sieht sowohl in IE als auch Firefox optisch prima aus und funktioniert, jedoch versucht IE Shockwave 10.1 zu installieren. Krieg eine Meldung ueber geblockten ActiveX Inhalt:
"This site might require the following ActiveX control: 'Shockwave Player 10.1' from 'Macromedia, Inc.', click here to install..."
(sorry, habe hier nur englische Version vor mir und weiss nicht, wie genau M$ das uebersetzt hat).

Ich habe Flashplayer 7 installiert und kann damit das Banner einwandfrei oeffnen. Weiss jemand woran das liegen koennte?

Gruesse aus Brisbane,

Lynky

  1. Hallo!

    Wieso bettest Du Dein Flash über den invaliden embed Tag ein?

    So wäre es viel schöner:
    <object type="application/x-shockwave-flash" data="="/images/flash/<?= $ActNav; ?>.swf" width="794" height="117" id="film" VIEWASTEXT>
     <param name="movie" value="="/images/flash/<?= $ActNav; ?>.swf" />
     <param name="quality" value="high" />
     <param name="bgcolor" value="#ffffff" />
     <param name="wmode" value="Transparent" />
     <param name="menu" value="false" />
     <p>Ihr Browser verfügt offensichtlich derzeit nicht über das erforderliche Flashplugin<br />
     Bitte laden Sie es unter folgendem Link herunter: <a href="http://www.macromedia.com/go/getflashplayer">http://www.macromedia.com/go/getflashplayer</a></p>
    </object>

    Vielleicht verwendet Dein Flashbanner irgendwelche Shockwave Extensions?

    Schönen Gruß

    Afra

    1. Hallo!

      Wieso bettest Du Dein Flash über den invaliden embed Tag ein?

      Weil die Nachteile der Methode <object type="application/x-shockwave-flash" data=""> bekannt sind (IE streamt nicht, man braucht ein Container-Flash)?

      Mathias

      1. Hallo Mathias!

        Zeige mir eine Referenz im Web, bei der ich dies nachlesen kann? Ich hatte mit streamenden Inhalten noch keinerlei Probleme. Benutze es derzeit auch bei einem Film, der 3 MB groß ist und es klappt. Weshalb sollte ich ein Container Flash benötigen?

        Pauschales Verurteilen ist einfach. Ich möchte Referenzen! So wie hier alle Vorteile, und der einzige Nachteil (das Autoupdate) beschrieben sind: http://www.alistapart.com/articles/flashsatay/

        Wir wollen nämlich Standards unterstützen und nicht etwas _so_ machen, weil es _so_ schon immer war.

        Schönen Gruß

        Afra

        1. Hallo,

          Pauschales Verurteilen ist einfach.

          Wieso pauschal? Der Kram ist siebzehnmal im Archiv durchgekaut worden, daher habe ich nur Stichwörter genannt. Aber konkrete Stichwörter, die man wiederfinden wird, sucht man nach »Flash Satay«.

          Ich möchte Referenzen! So wie hier alle Vorteile, und der einzige Nachteil (das Autoupdate) beschrieben sind: http://www.alistapart.com/articles/flashsatay/

          Willst du mich auf den Arm nehmen? Dieser Artikel dreht sich doch groß und breit um das genannte Streaming-Problem. Soll ich ihn vorlesen?

          »The only problem with the code I had is that IE/Windows doesn’t stream the movie. It waits for the whole movie to download and then plays it. This is fine for very small movies, as the wait isn’t that noticeable. So, how about creating a very small container movie, which in the first frame loads in the real movie we want to play?
          I tested it, and it works. It’s a bit of a hack, but a valid and justifiable hack in my opinion. The greatest thing is that you don’t have to create a separate container movie for each “real” movie—one smart container can work with any Flash movie having the same proportions.
          (...) We call this the Satay Method.«

          Sprich: Wenn man eine (hinreichend großes) Flash-Datei mit der reinen object-Methode einbindet, streamt MSIE das Flash nicht, sondern lädt es erst komplett herunter und startet es dann. Das ist unschön, daher benutzt man einen winzigen Container, der schnell geladen wird und dann erst die wirkliche Flash-Datei lädt, diese dann gestreamt wird. Daran sollte man denken, wenn man nur object verwendet.

          Wir wollen nämlich Standards unterstützen und nicht etwas _so_ machen, weil es _so_ schon immer war.

          Oh, welch überzeugende Argumentationsführung! Voll progressiv, wa?

          Natürlich sollte man möglichst die standardkonforme Methode verwenden. Aber die object/embed-Doppelmethode bzw. nur embed benutzt man nicht, weil es schon immer so war, sondern weil sie ganz nüchtern betrachtet die kompatibelsten aller Möglichkeiten sind. Da können sich die Webstandards-Prediger auf den auf den Kopf stellen, das Argument der Standardkonformität zum Selbstzweck wiegt nun einmal nicht viel. Wenn man nur object empfiehlt, sollte man daher zumindest das Streaming-Problem nicht verschweigen, sondern den Workaround nennen, ohne den die Methode in der Praxis schlechtere Resultate erzielt.

          Mathias

          1. Hallo Mathias!

            Natürlich sollte man möglichst die standardkonforme Methode verwenden. Aber die object/embed-Doppelmethode bzw. nur embed benutzt man nicht, weil es schon immer so war, sondern weil sie ganz nüchtern betrachtet die kompatibelsten aller Möglichkeiten sind. Da können sich die Webstandards-Prediger auf den auf den Kopf stellen, das Argument der Standardkonformität zum Selbstzweck wiegt nun einmal nicht viel. Wenn man nur object empfiehlt, sollte man daher zumindest das Streaming-Problem nicht verschweigen, sondern den Workaround nennen, ohne den die Methode in der Praxis schlechtere Resultate erzielt.

            Nein!

            Ich sagte nur, dass ich derzeit keinerlei Probleme damit habe (Da ich nicht streame) In dem Artikel hatte ich den Absatz auch gelesen, aber er war eben in diesem Fall unnötig. Wie es bei 99% aller eingebunden Flashdateien sein wird.

            Wenn man mal ausnahmsweise direkt etwas Streamen möchte, kann man immer noch mit dem Container arbeiten. Nur, wer streamt denn jeden Film? Ich für meinen Teil arbeite schon seit Jahren mit Containerfilmen, welche allen nötigen Inhalt nachladen. Dies ist also der einzige Nachteil, dafür, dass man anders absolut keinen validen Code erzeugt. Nein danke. Und jetzt beruhige Dich wieder.

            Schönen Gruß

            Afra

            1. Hallo,

              (...) Wenn man nur object empfiehlt, sollte man daher zumindest das Streaming-Problem nicht verschweigen, sondern den Workaround nennen, ohne den die Methode in der Praxis schlechtere Resultate erzielt.

              Nein!

              Ich sagte nur, dass ich derzeit keinerlei Probleme damit habe (Da ich nicht streame) In dem Artikel hatte ich den Absatz auch gelesen, aber er war eben in diesem Fall unnötig. Wie es bei 99% aller eingebunden Flashdateien sein wird.

              Gewagte Spekulation.
              Es ist zwar nicht schön, dass die meisten Flash-Dateien nicht bereits starten, bevor das gesamte Flash mit allen nicht auf Anhieb sichtbaren Mediendaten geladen ist. Damit der Benutzer nicht ewig waren muss, sollte man das Feature Streaming nutzen, wenn es nur geht. Vor allem aber arbeiten die meisten Flash-Dateien mit eigenen Ladeanzeigen, die den Benutzer vertrösten und den Status zurückmelden. Wenn man das Flash einige Zeit zum Laden braucht, sind aussagekräftige Ladeanzeigen aus Sicht der Benutzerfreundlichkeit in jedem Fall nützlich. Diese fallen genauso weg, wenn man object ohne »Flash Satay«-Container verwendet. Diese Auswirkung betrifft eine ganze Menge Flash-Dateien.

              Wenn man mal ausnahmsweise direkt etwas Streamen möchte, kann man immer noch mit dem Container arbeiten. Nur, wer streamt denn jeden Film?

              1. Auch nicht-streamende Flash-Dateien geben dem Benutzer i.d.R. schon nach wenigen übertragenen Kilobytes eine visuelle Rückmeldung. Insofern ist es nicht entscheidend, ob die Flash-Datei wirklich vom Streaming sinnvoll Gebrauch macht.
              2. Wieso sollte man nicht, sofern es möglich ist, vom Streaming Gebrauch machen, damit der Benutzer so schnell wie möglich ein Interface bzw. eine Animation zu Gesicht bekommt.

              Mathias

    2. Hi Afra,
      danke vielmals!

      wusste nicht, dass embed untersagt/geaechtet ist. Mit Der von Dir zitierten Methode funktioniert die Geschichte auch und IE meckert nicht mehr :)
      tiptop! ~

      Habe mir dazu gerade noch den Verweis in selfhtml angeschaut: http://de.selfhtml.org/html/multimedia/objekte.htm#flash

      Weisst du zufaellig wo ich die erlaubten name und value Werte fuer "param" (quasi wie "quality" => "high") nachschlagen kann? Denn auch unter "param" in der Referenz habe ich dazu nichts gefunden.

      Lynky