Reese: Flash in XML nach W3

Hi @ all

Ich habe ne Page mit n'em CMS aufgesetzt. Ich habe anschliessend das Design nach meinen Ansprüchen umgestaltet und unteranderem ein Flash im Header eingefügt. Soweit so gut, nur mein Problem ist, dass sich das Flsh-Objekt nich Validieren lässt. (http://validator.w3.org/check?uri=http%3A%2F%2Fjubla.linth.net%2Findex.php)

Homepage: http://jubla.linth.net

Hat hier jemand ne lösung?

Danke & Gruss

Reese

  1. Hallo,

    Ich habe ne Page mit n'em CMS aufgesetzt. Ich habe anschliessend das Design nach meinen Ansprüchen umgestaltet und unteranderem ein Flash im Header eingefügt. Soweit so gut, nur mein Problem ist, dass sich das Flsh-Objekt nich Validieren lässt.

    <embed> existiert in den ofiziellen (X)HTML-Versionen nicht.

    Siehe auch http://de.selfhtml.org/html/multimedia/netscape.htm

    Grüße
    Thomas

    1. Schade... andere Möglichkeiten, wie z.B. die Parameter im <object> Tag anzugeben gibt es nicht?

      1. Hallo,

        Schade... andere Möglichkeiten, wie z.B. die Parameter im <object> Tag anzugeben gibt es nicht?

        Ich verstehe deine Frage nicht, <param> kannst du im <object> verwenden.
        Siehe auch http://de.selfhtml.org/html/referenz/elemente.htm#object und für die Attribute http://de.selfhtml.org/html/referenz/attribute.htm#object

        Wenn du auf <embed> nicht verzeichten willst, schreibe das mit JavaScript in die Datei hinein.

        Grüße
        Thomas

        1. und ich verstehe deine Andwort nicht :)

          nochmals von vorne:

          kann ich folgende Angaben aus dem <embed> Tag:

          type="application/x-shockwave-flash"
              pluginspage="http://www.macromedia.com/go/getflashplayer"
              name="uploads/Flash/header.swf"
              width="330" height="137"
              src="uploads/Flash/header.swf"
              bgcolor="#FFFFFF"
              quality="high"
              menu="false"
              wmode="transparent"
              swliveconnect="true">

          irgendwie im <object> Tag angeben? Sodass, der <embed> Tag überflüssig wird?

          1. Hallo,

            irgendwie im <object> Tag angeben? Sodass, der <embed> Tag überflüssig wird?

            Ich verweise mal dezent auf https://forum.selfhtml.org/?t=133072&m=861915.

            Viele Grüße,
            Christian

            --
            "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
            1. Hallo,

              irgendwie im <object> Tag angeben? Sodass, der <embed> Tag überflüssig wird?

              Ich verweise mal dezent auf https://forum.selfhtml.org/?t=133072&m=861915.

              Das hat er doch gemacht und korrekterweise meint der Validator, dass die Seite eben so nicht gültig ist.
              Deshalb meinte ich er solle es mit JavaScript versuchen, etwas in der Art:
              document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="..." height="..." codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">\n');
               document.write('\t\t\t<param name="movie" value="">\n');
                   ...
                document.write('\t\t\t<embed type="application/x-shockwave-flash" src="..." pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>\n');
               document.write('\t\t</object>\n')

              Grüße
              Thomas

              1. Hallo Thomas,

                Ich verweise mal dezent auf https://forum.selfhtml.org/?t=133072&m=861915.

                Das hat er doch gemacht und korrekterweise meint der Validator, dass die Seite eben so nicht gültig ist.

                Huh? In dem, was ich beschreibe, taucht gar kein <embed> auf - und <object><param ... /><param .../>...</object> ist doch wohl gültiges XHTML?

                Deshalb meinte ich er solle es mit JavaScript versuchen,

                Dann setzt Du allerdings noch etwas voraus, was nicht unbedingt nötig ist.

                Viele Grüße,
                Christian

                1. 1. zu der Lösung mit Javascript:

                  ich will ja dass mein Code nach W3-Norm aufgebaut ist und nicht einfach pseudo validiert ist...

                  2. zu meinem Problem

                  sry, bin einfach zu blöd...

                  habe alle Angaben vom <embed> Tag in <param> Tags im <object> Tag umgeschrieben. Das ergebniss; Im IE funktioniert es, im FF wird nichts angezeigt... Was habe ich flasch gemacht?

                  Original Code:

                  <object  classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
                    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0"
                    id="Movie1"
                    width="330" height="137">
                    <param name="movie" value="uploads/Flash/header.swf" />
                    <param name="bgcolor" value="#FFFFFF" />
                    <param name="quality" value="high" />
                    <param name="menu" value="false" />
                    <param name="wmode" value="transparent" />

                  <embed
                      type="application/x-shockwave-flash"
                      pluginspage="http://www.macromedia.com/go/getflashplayer"
                      name="uploads/Flash/header.swf"
                      width="330" height="137"
                      src="uploads/Flash/header.swf"
                      bgcolor="#FFFFFF"
                      quality="high"
                      menu="false"
                      wmode="transparent"
                      swliveconnect="true"> </embed>
                  </object>

                  Neuer Code:

                  <object  classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
                    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0"
                    id="Movie1"
                    width="330" height="137">
                    <param name="movie" value="uploads/Flash/header.swf" />
                    <param name="bgcolor" value="#FFFFFF" />
                    <param name="quality" value="high" />
                    <param name="menu" value="false" />
                    <param name="wmode" value="transparent" />
                    <param name="type" value="application/x-shockwave-flash" />
                    <param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" />
                    <param name="name" value="uploads/Flash/header.swf" />
                    <param name="width" value="330" height="137" />
                    <param name="src" value="uploads/Flash/header.swf" />
                    <param name="bgcolor" value="#FFFFFF" />
                    <param name="quality" value="high" />
                    <param name="menu" value="false" />
                    <param name="wmode" value="transparent" />
                    <param name="swliveconnect="true" />
                  </object>

                  1. Hallo,

                    1. zu der Lösung mit Javascript:

                    ich will ja dass mein Code nach W3-Norm aufgebaut ist und nicht einfach pseudo validiert ist...

                    Deine Entscheidung, aber ...

                    1. zu meinem Problem

                    sry, bin einfach zu blöd...

                    bist du nicht, aber ...

                    habe alle Angaben vom <embed> Tag in <param> Tags im <object> Tag umgeschrieben.

                    ... was du versucht hat geht nicht. Punkt.

                    Du hast drei Möglichkeiten:

                    1. object und embed zu verwenden und auf die Validität pfeifen
                    2. auf embend zu verzeichen
                    3. es mit JavaScript zu schreiben

                    Welche der drei Möglichkeiten du wählst, hängt davon ab für wen du deine Seiten erstellt hast:
                    für den Validator --> 2
                    für möglichst viele Besucher --> 1
                    für beide mit Kompromissen --> 3

                    Grüße
                    Thomas

                    1. Tach Thomas,

                      Du hast drei Möglichkeiten:

                      1. object und embed zu verwenden und auf die Validität pfeifen
                      2. auf embend zu verzeichen
                      3. es mit JavaScript zu schreiben

                      Welche der drei Möglichkeiten du wählst, hängt davon ab für wen du deine Seiten erstellt hast:
                      für den Validator --> 2
                      für möglichst viele Besucher --> 1
                      für beide mit Kompromissen --> 3

                      Mit diesem (hinsichtlich der Parameter ausbaufähigen) Code gibt es keine Probleme unter IE, FF und OP:

                        
                      <object type="application/x-shockwave-flash" data="file.swf" width="..." height="..." border="0">  
                        <param name="movie" value="file.swf" />  
                        <param name="quality" value="high" />  
                        <param name="scale" value="noborder" />  
                        <param name="bgcolor" value="#FFFFFF" />  
                        <param name="loop" value="true" />  
                        <param name="play" value="true" />  
                        <!-- Alternativinhalt -->  
                      </object>
                      

                      Man kann hier also sehr wohl auf embed und JS verzichten.

                      Man liest sich,
                      svg4you

                      1. thx an euch...

                        funktioniert jetzt bestens und zudem noch validiert *freu*

                        Gruss Reese

                        1. Hallo,

                          [...]
                          funktioniert jetzt bestens und zudem noch validiert *freu*

                          Die Lösung war genau das, was ich in meinem Posting vorgeschlagen hatte... Ist es wirklich so schwierig, den Links darin zu folgen und sich das auch _durchzulesen_? (nicht nur den Code kurz zu überfliegen?) Das beziehe ich jetzt auch auf Thomas, nicht nur auf Dich.

                          Viele Grüße,
                          Christian

                          --
                          "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
                        2. Hallo

                          funktioniert jetzt bestens und zudem noch validiert *freu*

                          Damit dir auch klar wird, wozu <embed> überhaupt da ist: Der Netscape Communicator 4 hat(te) seine eigene Syntax zum Einbinden von Multimediadaten. Das ist das Element <embed>, das Normgerechte Element <object> kennt er nicht.

                          Da dieser Browser irgendwann mal einige Verbreitung hatte[1], musste für dessen Benutzer zusätzlich zum <object> noch das <embed> notiert werden.

                          [1] Und genau dieses "hatte" (explizit in der Vergangenheitsform) ist das Zauberwort. Du kannst den NC4 und damit <embed> mittlererweile vernachlässigen.

                          Tschö, Auge

                          --
                          Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                          (Victor Hugo)
                          Veranstaltungsdatenbank Vdb 0.1
                          1. Hallo Auge,

                            Damit dir auch klar wird, wozu <embed> überhaupt da ist: Der Netscape Communicator 4 hat(te) seine eigene Syntax zum Einbinden von Multimediadaten. Das ist das Element <embed>, das Normgerechte Element <object> kennt er nicht.

                            Das ist so nicht richtig: Netscape 4 kennt <object> sehr wohl, wenn Du Dir http://aktuell.de.selfhtml.org/artikel/programmiertechnik/liveconnect/index.htm#browser ansiehst, funktioniert bei der Flash-Einbindung über <object> im Netscape 4 (zumindest der Windows-Variante) sogar das ganze Liveconnect-Zeug.

                            Viele Grüße,
                            Christian

                            --
                            "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
                            1. Hallo

                              ... Netscape 4 kennt <object> sehr wohl, wenn Du Dir http://aktuell.de.selfhtml.org/artikel/programmiertechnik/liveconnect/index.htm#browser ansiehst, funktioniert bei der Flash-Einbindung über <object> im Netscape 4 (zumindest der Windows-Variante) sogar das ganze Liveconnect-Zeug.

                              Sieh an, auch SELFHTML: Objekte einbinden spricht im Abschnitt "Allgemeines" von, wenn auch ungenügender, Unterstützung. Da ich (sehr) wenig mit Flash am Hut habe, somit normalerweise auch nicht mit <object>/<embed> arbeite, habe ich mich wohl von den Browsericons bei den einzelnen Abschnitten leiten lassen. Und dort steht z.B. bei Datendateien als Objekt einbinden: ab Netscape 6.

                              Dabei steht unter "Allgemeines" (unter "Beachten Sie"):
                              <zitat>Das object-Element wird vom Internet Explorer seit Version 3.x und von Netscape seit Version 4.x unterstützt. Von einer ernstzunehmenden Implementierung kann bei diesen Produktversionen aber noch keine Rede sein. Deshalb ist bei den Beispielen auf dieser Seite in der Regel Internet Explorer 5.0 und Netscape 6.0 angegeben.</zitat>

                              Merke: Immer schön bis zum Ende lesen! :-)

                              Tschö, Auge

                              --
                              Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                              (Victor Hugo)
                              Veranstaltungsdatenbank Vdb 0.1
                              1. Hallo Auge,

                                Sieh an, auch SELFHTML: Objekte einbinden spricht im Abschnitt "Allgemeines" von, wenn auch ungenügender, Unterstützung.

                                Ja, das liegt daran, dass es durchaus einige 4.x-Versionen gab, die bei der derartigen Verwendung von <object> sogar abgeschmiert sind (4.08 IIRC). Aber Netscape 4.7 unter Windows hat's eigentlich ganz brauchbar unterstützt. Die Versionen für andere Betriebsysteme halt nicht so (bzw. das Einbinden selbst schon, LiveConnect jedoch nicht).

                                Dabei steht unter "Allgemeines" (unter "Beachten Sie"):
                                <zitat>Das object-Element wird vom Internet Explorer seit Version 3.x und von Netscape seit Version 4.x unterstützt. Von einer ernstzunehmenden Implementierung kann bei diesen Produktversionen aber noch keine Rede sein. Deshalb ist bei den Beispielen auf dieser Seite in der Regel Internet Explorer 5.0 und Netscape 6.0 angegeben.</zitat>

                                Nunja, als allgemeine Aussage über <object> stimmt das auch voll und ganz - nur stellt Flash bei Netscape 4 hier eine Ausnahme dar. Sprich: <object type="text/html" data="bla.html"> geht in Netscape 4 nicht - Flash über <object> schon (wenn er nicht gerade abschmiert). Wenn Du dagegen wiederum Quicktime probierst, wirst Du auch hier bei Netscape 4 kein Glück mit <object> haben.

                                Viele Grüße,
                                Christian

                                --
                                "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
                  2. Hallo.

                    Was habe ich flasch gemacht?

                    Du versuchst, C in Flash einzubinden.
                    MfG, at

                2. Hallo Christian,

                  Ich verweise mal dezent auf https://forum.selfhtml.org/?t=133072&m=861915.

                  Das hat er doch gemacht und korrekterweise meint der Validator, dass die Seite eben so nicht gültig ist.

                  Huh? In dem, was ich beschreibe, taucht gar kein <embed> auf - und <object><param ... /><param .../>...</object> ist doch wohl gültiges XHTML?

                  Alle von dir im https://forum.selfhtml.org/?t=133072&m=861915 verlinkten Seiten enthalten das <embed> in <object> als Lösung.

                  Deshalb meinte ich er solle es mit JavaScript versuchen,

                  Dann setzt Du allerdings noch etwas voraus, was nicht unbedingt nötig ist.

                  Ja schon, JavaScript, aber diese Diskussion wurde hier schon geführt.

                  Grüße
                  Thomas

                  1. Hallo Thomas,

                    Alle von dir im https://forum.selfhtml.org/?t=133072&m=861915 verlinkten Seiten enthalten das <embed> in <object> als Lösung.

                    Würdest Du sie Dir bitte etwas genauer durchlesen?

                    Unter http://www.alistapart.com/articles/flashsatay steht zwar ganz am Anfang etwas mit <embed> - allerdings nur als Aufhänger für den ganzen Artikel; am Ende unter »Markup« steht nämlich:

                    <object type="application/x-shockwave-flash" data="c.swf?path=movie.swf" width="400" height="300">  
                    <param name="movie" value="c.swf?path=movie.swf" />  
                    <img src="noflash.gif" width="200" height="100" alt="" />  
                    </object>
                    

                    In SELFHTML (http://de.selfhtml.org/html/multimedia/objekte.htm#flash) steht als zweites Beispiel (ich zitiere mein eigenes Posting nochmal: »weiter unten im Abschnitt, nicht der oberste Teil«):

                    <object data="nibbles.swf" type="application/x-shockwave-flash" width="600" height="400">  
                      <param name="movie" value="nibbles.swf">  
                      <param name="quality" value="high">  
                      <param name="scale" value="exactfit">  
                      <param name="menu" value="true">  
                      <param name="bgcolor" value="#000040">  
                    </object>
                    

                    Im Artikel von Gernot steht:

                    <!--Anfang W3C-konforme Flasheinbettung-->  
                    <object type="application/x-shockwave-flash" data="Demo.swf"  
                     WIDTH="45" HEIGHT="90" id="Demo" ALIGN="">  
                     <param name="movie" VALUE="Demo.swf">  
                     <param name="quality" VALUE="high">  
                     <param name="bgcolor" VALUE="#EEEFEF">  
                     <param name="swliveconnect" value="true">  
                     <p>Ihr Browser verfügt offensichtlich derzeit nicht über das Flashplugin,  
                     jedenfalls nicht in der erforderlichen Version.<br>  
                     Bitte laden Sie es unter folgendem Link herunter.<br>  
                      <a href="http://www.macromedia.com/go/getflashplayer">  
                       http://www.macromedia.com/go/getflashplayer</a></p>  
                    </object>  
                    <!--Ende W3C-konforme Flasheinbettung-->
                    

                    Wo siehst Du da bitte ein <embed>? Ich seh keins.

                    Natürlich tauchen in allen 3 Quellen auch <embed>-Varianten auf - um sie gegenüber zu stellen.

                    Viele Grüße,
                    Christian

                    --
                    "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
                    1. Hallo Christian,

                      Alle von dir im https://forum.selfhtml.org/?t=133072&m=861915 verlinkten Seiten enthalten das <embed> in <object> als Lösung.

                      Würdest Du sie Dir bitte etwas genauer durchlesen?

                      Es tut mir leid, aber es _ist_ in jedem der Artikel als mögliche Lösung drinn (das "warum" ist ja egal) und darüber müssen wir nicht diskutieren.

                      Grüße
                      Thomas

                      1. Hallo Thomas,

                        Alle von dir im https://forum.selfhtml.org/?t=133072&m=861915 verlinkten Seiten enthalten das <embed> in <object> als Lösung.

                        Würdest Du sie Dir bitte etwas genauer durchlesen?

                        Es tut mir leid, aber es _ist_ in jedem der Artikel als mögliche Lösung drinn (das "warum" ist ja egal) und darüber müssen wir nicht diskutieren.

                        Wenn Du unbedingt pedantisch sein willst, bitte:

                        Ich schrieb:

                        Ich verweise mal dezent auf https://forum.selfhtml.org/?t=133072&m=861915.

                        Du hast geantwortet:

                        Das hat er doch gemacht und korrekterweise meint der Validator, dass die Seite eben so nicht gültig ist.

                        Das ist schlicht falsch, er hat es eben *nicht* so gemacht, wie die Lösung, worauf ich hinauswollte (die auf allen 3 Seiten zu finden ist), und _deswegen_ hat der Validator gemeckert.

                        Deswegen antwortete ich:

                        Huh? In dem, was ich beschreibe, taucht gar kein <embed> auf - und <object><param ... /><param .../>...</object> ist doch wohl gültiges XHTML?

                        Also: »In dem, was ich beschreibe« - ich bezog mich also nicht auf den vollständigen Artikel, sondern lediglich auf spezielle Lösungen (die in meinem Posting im anderen Thread näher umrissen wurden), die in dem Artikel angeboten werden. Und wenn Du jetzt nun antwortest:

                        Alle von dir im http://forum.de.selfhtml.org/my/?t=133072&m=861915 verlinkten Seiten enthalten das <embed> in <object> als Lösung.

                        Dann gehe ich davon aus, dass Du die Artikel eben *nicht* vollständig gelesen hast, denn die Aussage für sich alleine ist zwar an sich korrekt (dass die Artikel dort *auch* Lösungen mit <embed> enthalten), aber Deine Antwort auf das, was ich vorher schrieb, liest sich unmissverständlich so, als dass die Artikel *nur* die Lösung mit <embed> enthalten und *keine* andere. Du impliziertest also, dass es *keine* Möglichkeit gibt, Flash browserübergreifend ausschließlich über <object> ohne <embed> einzubinden (hast Du weiter oben im Thread sogar ausdrücklich gesagt) - und das ist schlicht falsch und das wollte ich korrigieren - denn die von mir angegebene Lösung löst nämlich das ursprüngliche Problem des Fragestellers mit reinem HTML - wogegen Du behauptet hast, das ginge nur mit JavaScript.

                        Viele Grüße,
                        Christian

                        --
                        "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
                        1. Hallo Christian,

                          Wenn Du unbedingt pedantisch sein willst, bitte:

                          Meine Güte!!! :)
                          Vergiss das was ich vorher sagte.

                          Grüße
                          Thomas

                3. Hallo,

                  Deshalb meinte ich er solle es mit JavaScript versuchen,

                  Dann setzt Du allerdings noch etwas voraus, was nicht unbedingt nötig ist.

                  Flash per JavaScript einzufügen hat vor allem den Vorteil, dass das Flash dann sofort aktiv ist und nicht erst durch einen Klick »aktiviert« im IE und Opera werden muss (diese Eolas-Patent-Geschichte...).

                  Mathias