Flashhilfe.de - Flash Community

Flash valide in HTML [Flash 6]

 


AntwortenRegistrieren Seite1  

pact kiz reman#1
Benutzerbild von pact kiz reman
Beiträge: 172
Registriert: May 2006

07.11.2006, 08:08

Hallo liebe Mitflasher,

da ich immer wieder sehe, dass viele Flash-Filme nicht gerade hübsch in HTML eingebunden werden, möchte ich mal eine valide Variante vorstellen. Außerdem soll dieser Beitrag einen Einstieg zum Thema valide Websites bieten.


Was bedeutet valide?
Eine Website kann man dann als valide bezeichnen, wenn ihr Code bestimmten Standards entspricht. Diesen Standards zu folgen soll den Sinn haben, dass alle Browser die Seite richtig und gleich interpretieren und anzeigen können. Man kann sich also darauf verlassen, dass eine valide Seite (mehr oder weniger) ordentlich auf allen Browsern angezeigt wird. Nur schlechte Browser können das nicht wirklich. In der Praxis klappt das zwar nicht immer, da besonders der IE gerne noch ne Extrawurst gebraten haben möchte, aber es ist eine wichtige Grundlage für saubere Websites. Valide Sites bilden auch die Basis für barrierefreie Websites. Übrigens, es gibt auch für CSS solche Normen.

Das W3C legt diese Standards fest: http://www.w3.org


Wie prüfe ich meine Website?
Auf der Homepage des W3C findet man den Validator. Damit ist es möglich, z.B. HTML-Code, zu validieren. Man bekommt dan eine Liste von Fehlern oder Warnungen, die man beheben sollte. Einige Dinge kann man dann vielleicht nicht so umsetzten wie bisher, aber es gibt für fast alles eine valide Alternative.

Noch schneller kann man Websites prüfen, indem man eine Browsererweiterung nutzt.
Ich mag die Firefox-Erweiterung "Tidy HTML Validator". Diese Zeigt immer den Status der besuchten Site an. Man bekommt auch Lösungsvorschläge, um nicht validen Code zu verbessern. Und wo wir schon mal dabei sind, mit "Web Developer" kann man nen Haufen toller Sachen machen. Der ist also auch nen Versuch wert.

Tidy HTML Validator für Firefox: http://users.skynet.be/mgueury/mozilla/
Web Developer für Firefox: http://chrispederick.com/work/webdeveloper/


Flash einfach und valide einbinden
Um Flash valide einzubinden, kann dieser Code genutzt werden:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
<!-- WichtigImmer vollqualifizierten URL angeben! -->
<
object type="application/x-shockwave-flash"
data="http://www.wasauchimmer.de/test/bsp.swf"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" 
width="552" 
height="280">
<
param name="allowScriptAccess" value="sameDomain"/>
<
param name="movie" value="http://www.wasauchimmer.de/test/bsp.swf"/>
<
param name="loop" value="false"/>
<
param name="menu" value="false"/>
<
param name="quality" value="best"/>
<
param name="play" value="false"/>
<
p>
Um den Inhalt dieses Bereichs sehen zu k&ouml;nnenben&ouml;tigen Sie den Flash Player ab Version 6. 
Diesen erhalten Sie kostenlos von Adobe

<
a href="http://www.macromedia.com/go/getflashplayer" target="_blank">Get Flash Player</a>                           
</
p>
</
object>
?>

Eigentlich ist dieser ganuso zu nutzen, wie sein bekanntes Pendant. Wichtig ist nur, dass die Quelle der SWF mit einem vollqualifiziertem (also z.B. http://www.usw.de/test/bsp.swf) URL angegeben werden muss. Relative Pfadangeben sind nicht möglich. Das ist schon alles. Und wie man sieht, kann man sogar noch einen Hinweistext + Link angeben den der Besucher sieht, wenn das automatische Installieren des PlugIns fehl schlägt.

Flash valide + IE ActiveContent update
Besucht man mit einem aktuellen IE obiges Beispiel, muss man zum Aktivieren des Plugins einmal auf den Film klicken. Das hat etwas damit zu tun, dass Microsoft so die Abgabe von Lizenzen umgeht. (Gilt nicht nur für Flash, z.B. auch Quicktime usw.)
Da das aber echt nervig ist, hat Adobe eine javascriptbasierte Einbettungsvariante für Flash entwickelt, die im IE ActiveX zur Anzeige nutz. Damit merkt der IE-User keinen Unterschied. Vorteil: Methode ist valide, Nachteil: man benötigt JavaScript
Laut einer Adobe-Studie haben fast alle Browser mit Flash-PlugIn auch JS aktiviert und solche ohne JS haben meist kein Flash installiert. Fazit: Wer Flash nutzt, hat sowieso JS aktiviert.
Nun, das stimmt aber nicht immer. Daher benötigen wir eine Variante die auch ohne JS funktionert.
Hier machen wir das so: Wir nutzen das ActiveContent Update von Adobe ganz normal und binden in einem <noscript>-Tag noch unseren validen Code von oben ein.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?
<script type="text/javascript">
AC_FL_RunContent(
'codebase''http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0',
'pluginspage''http://www.macromedia.com/go/getflashplayer',
'allowScriptAccess','sameDomain',
'src''bsp',
'width''552',
'height''280',
'quality''best',
'align''middle',
'play''false',
'loop''false',
'scale''noscale',
'wmode''window',
'menu''false'
);
</script>

<noscript>
<!-- Wichtig: Immer vollqualifizierten URL angeben! -->
<object type="application/x-shockwave-flash"
data="http://www.wasauchimmer.de/test/bsp.swf"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" 
width="552" 
height="280">
<param name="allowScriptAccess" value="sameDomain"/>
<param name="movie" value="http://www.wasauchimmer.de/test/bsp.swf"/>
<param name="loop" value="false"/>
<param name="menu" value="false"/>
<param name="quality" value="best"/>
<param name="play" value="false"/>
<p>
Um den Inhalt dieses Bereichs sehen zu k&ouml;nnen, ben&ouml;tigen Sie den Flash Player ab Version 6. 
Diesen erhalten Sie kostenlos von Adobe: 
<a href="http://www.macromedia.com/go/getflashplayer" target="_blank">Get Flash Player</a>                           
</p>
</object>
</noscript>   
?>


Achtung, für das Script oben muss die .js-Datei aus dem Angang eingebunden werden.
Am besten im HEAD-Bereich so verlinken:
PHP:
1
2
3
4
<?
<script src="AC_RunActiveContent.js" type="text/javascript"></script>
?>


Links zum Thema
http://www.flashhilfe.de/forum/tipps-tricks/alle-flashseiten-aendern-wegen-dem-neuen-ie-update-176395-176395.html
http://www.adobe.com/devnet/activecontent/articles/devletter.html


So, wer jetzt noch Testen möchte, ob das nun auch mit- und ohne JS funktioniert, sollte sich "No Script" für Firefox installieren. Damit kann man JS ganz leicht deaktivieren und wieder aktivieren. Für den IE empfehle ich bei den Sicherheitseinstellungen das JS auf Benachrichtigen zu stellen, dann wird man immer gefragt und kann zwischen Ja und Nein wählen, geht auch gut.

No Script Erweiterung für Firefox: http://www.noscript.net


Okay, ich hoffe es hilft ein wenig.

Viele Grüße!
Patrick

Gruss + Dank!
Patrick

Angehängte Dateien:
Komprimierte Datei ac_runactivecontent.zip1.15 KB
Werbung
Beiträge: 0
Registriert: Feb 2016


caligula#2
Benutzerbild von caligula
Beiträge: 74
Wohnort: Osnabrooklyn :-)
Registriert: May 2006

07.11.2006, 13:49

Das war großartig und hat mir sehr geholfen! Besonders die Extensions für Firefox sind genial.

http://www.visual-terrorism.de/

'Everything we hear is an opinion, not a fact. Everything we see is a perspective, not the truth.'
--Marcus Aurelius
http://www.visual-terrorism.de/

\'Everything we hear is an opinion, not a fact. Everything we see is a perspective, not the truth.\'
--Marcus Aurelius
Geändert von caligula am 07.11.06 um 13:49 Uhr
nvpweb#3
Benutzerbild von nvpweb
Beiträge: 3
Wohnort: RDG
Registriert: Sep 2007

25.01.2008, 00:28

Hallo,

also ich komme damit nicht klar....

Ich habe zuzeit diese Lösung:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>e</title>   
</head><body bgcolor="#f99101">
<center>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="775" height="580" id="index" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="index.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#f99101" /><embed src="index.swf" quality="high" bgcolor="#f99101" width="775" height="680" name="index" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></embed>
</object>
</center></body>
</html>

kann mir da mal jemand helfen so, das man das Active X Steuerlement nicht mehr Aktiviren muss....das nervt ganz schön..

Danke...

itac#4
Benutzerbild von itac
Beiträge: 95
Registriert: Jan 2008

28.01.2008, 00:34

Hallo,

die Lösung steht doch oben, ts ts ts:

mit Javascript und document.write() Deine Zeilen ausgeben lassen

salü

--
http://www.a-d-k.de
Werbung
Beiträge: 0
Registriert: Feb 2016


pact kiz reman#5
Benutzerbild von pact kiz reman
Beiträge: 172
Registriert: May 2006

Themenautor/in

07.05.2008, 11:46

Noch ein Hinweis an alle:
nutzt für diese Methode möglichst die ältere Version (Flash 8) der AC_RunActiveContent.js

Für die neuere Version (u.a. bei CS3 dabei) sind Anpassungen nötig. Ich mache dazu mal einen aktuelle Beitrag. - Für jeden der die AC_RunActiveContent.js nochmal braucht (aältere Version): ich habe sie angehangen.

Gruss + Dank!
Patrick
Gruss + Dank!
Patrick

Angehängte Dateien:
Komprimierte Datei ac_runactivecontent.zip1.15 KB
pact kiz reman#6
Benutzerbild von pact kiz reman
Beiträge: 172
Registriert: May 2006

Themenautor/in

07.05.2008, 12:11

Zitat: "Dein Beitrag gelesen. Mit dem ersten Code hat es super geklappt aber mit dem zweiten (wegen IE) bekomme ich es einfach nicht hin.

Habe im selben Thread eine Frage gepostst samt code, es wurde aber seltsamerweise gelöscht."


Habe Gerade eine Mail bekommen, vom Verfasser einer Frage, die er aber wieder gelöscht hat. - Ich hatte bereits ausführlich geantwortet, doch meine Antowort ist auch weg.

Also lieber Mersadion: Sorry, deinen Code gucke ich mir nicht an (keine Zeit).
Aber, binde die AC_RunActiveContent.js entweder im Header ein oder im Body, dann aber vor dem anderen Flash-Code. AC_RunActiveContent.js  muss vorher geladen werden.


- Ansonsten der Tipp: der NOSCRIPT Tag- samt Inhalt wird nicht zwingend benötigt. Er stellt lediglich eine Alternative dar, wenn jemand kein JS nutzen kann. Solltest du damit Probleme haben, lass ihn einfach weg. bzw. debugge den Code ohne den JS-Teil.

Reihenfolge ist also:
1. AC_RunActiveContent.js
2. SCRIPT-Tag mit Flash-Code
3. NOSCRIPT bei Bedarf.

Gruss + Dank!
Patrick
Gruss + Dank!
Patrick
Mersadion#7
Benutzerbild von Mersadion
Beiträge: 6
Wohnort: Hameln
Registriert: May 2008

07.05.2008, 12:26

Naja. Danke Dir für die Mühe. Für mich als totaler Flashnewbie ist es aber alles ziemlich kompliziert.

Ich weiß weder wie ich AC_RunActiveContent.js entweder im Header oder Body einbinden kann da es im Template immer mit:

PHP:
1
2
3
4
5
6
7
<?
   
<a name="top" id="top"></a>
    <
div id="container">
        <
div id="header">
            <
div class="logo">
?>


anfängt stat mit body oder header, noch weiß ich ob ich im Headerinclude-Template des Forums überhaupt was verändern soll, hab da diese Zeile reingepackt ganz unten:

PHP:
1
2
3
4
<?
<script type="text/javascript" src="{$mybb->settings['bburl']}/AC_RunActiveContent.js"></script>
?>


allerdigns blendet er den Flashheader ums verrecken nicht ein :(

Trozdem Danke für die Mühe

Gruß

Mersadion

pact kiz reman#8
Benutzerbild von pact kiz reman
Beiträge: 172
Registriert: May 2006

Themenautor/in

07.05.2008, 13:15

Eigentlich sollte das ganz einfach sein.

Also, vorausgesetzt die Pfade zum externen js und swf sind korrekt, brauchst du nur irgendwo auf der Seite folgendes einbinden (hier ohne noscript):

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
<script src="AC_RunActiveContent.js" type="text/javascript"></script>

<script type="text/javascript">
        AC_FL_RunContent(
            'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
            'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
            'allowScriptAccess','sameDomain',
            'src', 'meinFlashMovie',
            'width', '640',
            'height', '480',
            'quality', 'autohigh',
            'play', 'false',
            'loop', 'false',
            'scale', 'noscale',
            'menu', 'false'
        );
    </script>
?>


Natürlich musst du statt "meinFlashMovie" den namen deiner swf eingeben, jedoch ohne ".swf" - Die anderen Werte (Größe etc.) anpassen. Fertig.

Viel Erfolg.

Gruss + Dank!
Patrick
Gruss + Dank!
Patrick
Mersadion#9
Benutzerbild von Mersadion
Beiträge: 6
Wohnort: Hameln
Registriert: May 2008

07.05.2008, 13:55

Hm...der Code ist exakt so wie du es sagst eingefügt...ich versteh das echt nicht. Wenn, dann wird der Fehler bei mir wohl in der Pfadangabe zum externen js liegen...

Wo geb ich diesen Pfad den genau ein? ist das in dieser Zeile hier?

PHP:
1
2
3
4
<?
<script src="AC_RunActiveContent.js" type="text/javascript"></script>
?>

Die habe ich nähmlich so eingefügt wie sie ist. Meine AC_RunActiveContent.js liegt im ordner forum drin. (also http://www.gekreuzteklingen.de/forum/AC_RunActiveContent.js)

pact kiz reman#10
Benutzerbild von pact kiz reman
Beiträge: 172
Registriert: May 2006

Themenautor/in

07.05.2008, 14:17

Hab mir deinen code angesehen. Pfade sind in Ordnung.
Da ist ein anderer Fehler bei Copy & Paste passiert:

Oben sieht man, wie mitten im Code ein Umbruch drin ist (keine Ahnung wie das kommt). Jedenfalls muss der natürlich weg!

PHP:
1
2
3
4
<?
'codebase''http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
?>

Das Wort "version=" war getrennt, das darf natürlich nicht sein. Also Umbruch entfernen und es wird gehen.


Ansonsten empfehle ich dir mal ein Debugging mit Firefox. Installiere mal Web Developer Toolar und Tidy. Da sind einige Ungereimtheiten in deinem Code. Z.B. offene Tags etc.

Gruß!

Gruss + Dank!
Patrick
Mersadion#11
Benutzerbild von Mersadion
Beiträge: 6
Wohnort: Hameln
Registriert: May 2008

07.05.2008, 14:30

Woah...was ein kleiner Leerschritt alles bewirken kann^^.

Dickes Danke für die Mühe! Nun kann ich endlich weiter arbeiten!

Gruß

Mersadion

Mersadion#12
Benutzerbild von Mersadion
Beiträge: 6
Wohnort: Hameln
Registriert: May 2008

07.05.2008, 14:39

Hast du eventuell noch einen Tipp wie ich das "weiße Aufblinken" beim aktualisieren der Seite im Header unterbinden kann?

Immer wenn man "aktualisieren" klickt blinkt der Headerbereich kurz weiß auf...

Habe es mit:

PHP:
1
2
3
4
<?
<param name="wmode" value="transparent"/>
?>


verusucht im Noscript-Bereich in der Zeile:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
<param name="allowScriptAccess" value="sameDomain"/>
<
param name="movie" value="http://www.gekreuzteklingen.de/forum/header.swf"/>
<
param name="loop" value="false"/>
<
param name="menu" value="false"/>
<
param name="quality" value="best"/>
<
param name="play" value="false"/>
<
param name="wmode" value="transparent"/>
<
p>
?>


Das bringt allerdings nur was wenn ich den ersten Script von deinem Tutorial einsetze und dieser Bereich nicht als Noscript definitiert ist.

Irgendeine Idee?

pact kiz reman#13
Benutzerbild von pact kiz reman
Beiträge: 172
Registriert: May 2006

Themenautor/in

07.05.2008, 14:48

Im Script sind es die gleichen Angaben wie im param:

Machs also transparent:
ActionScript:
1"wmode", "transparent",


oder setze Hintergrundfarbe auf die des BGs:
ActionScript:
1"bgcolor", "#000000",


Einfach im JS dazwischen knallen, aber bitte nicht am Ende, da fehlt dann das Komma (,).
Gruss + Dank!
Patrick
Geändert von pact kiz reman am 07.05.08 um 14:51 Uhr
Mersadion#14
Benutzerbild von Mersadion
Beiträge: 6
Wohnort: Hameln
Registriert: May 2008

07.05.2008, 15:01

Supi! Klappt! Vielen Dank =)


AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Online-Spiel Crossover [Flash 11] 05.06.2019 - Indy_Crossover
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de