Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-09-2007, 18:56   #1 (permalink)
Neuer User
 
Benutzerbild von flashping
 
Registriert seit: Mar 2004
Ort: Berlin (Friedenau)
Beiträge: 111
Question Anfängerfragen zu swfobject

Hallo ins Forum!

Mich stören die blöden Ränder im IE um die eingebundenen Flashfilme.
Daher habe ich schließlich unter "Suchen" den folgenden Link gefunden:

http://www.powerflasher.de/sites/blog/swfobject/

So weit so gut. Was ich an der Sache zunächst mal gern verstehen würde ist folgendes (Zitat)

Zunächst erstellt man ein HTML Element, das den Flashfilm beinhalten soll
(quasi "fest hält" = holder). Der Inhalt in diesem 'holder' Element wird durch den Flashinhalt ersetzt,
so dass User, die das Flash-Plugin installiert haben den Inhalt des Elementes nicht sehen werden.

1. Frage:

Was soll ein "holder" genau sein bzw. wie erstelle ich so etwas in Dreamweaver (arbeite mit der mx-Version)?
Ich dachte spontan erstmal an ein Platzhlter-Gif oder sowas in der Art - also wirklich keine Ahnung leider...

Weiter im Text (Zitat)

Dann erstellt man ein neues SWFObject und trägt die benötigten Parameter ein:
* swf - Der Pfad zu der swf-Datei und der Name (`naja, das ist klar*)
* id - Die ID des object oder embed tags. Der embed tag braucht diesen Wert auch als
sein Namensattribut für die Verwendung von swliveconnect.

2. Frage:

Was ist mit "ID des object oder embed tags" genau gemeint? Hat das vielleicht etwas mit dem o.g. "holder" zu tun?
Oder bin ich da auch auf dem Holzweg?

Was bisher geschah:

Ich habe das swfobject_source.js heruntergeladen und ins Hauptverzeichnis gelegt.

In der betreffenden Site mit dem Titel "menueframe1" (Bestandteil eines Framesets) habe ich zunächst an der passender
Stelle die SWF namens "lab2.swf" eingefügt:
<tr>
<td colspan="8"><img src="elements/pixel.gif" width="640" height="30"></td>
<td><object classid="clsid D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="110" height="30">
<param name="movie" value="bilder/lab2.swf"><param name="quality" value="high">
<embed src="bilder/lab2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="110" height="25"></embed></object></td>
</tr>

Danach habe ich die eingebundenen SWF durch das JS-Script ausgetauscht wie folgt:

<tr>
<td colspan="8"><img src="elements/pixel.gif" width="640" height="30"></td>
<td><script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>
<script type="text/javascript">
var so = new SWFObject("lab2.swf", "mymovie", "110", "30", "7", "#000000");
so.write("flashcontent");
</script></td>
</tr>

Ich nehme an, dass ich "mymovie" austauschen muss. Wie mach ich das richtig?

Freue mich auf "Nachhilfe"

LG, Flashping
__________________
You can´t always get what you want
But if you try sometimes you just might find
You get what you need
flashping ist offline   Mit Zitat antworten
Alt 24-09-2007, 19:09   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Was soll ein "holder" genau sein
Das ist in dem Tut doch alles mit Script erklärt...
PHP-Code:
<div id="flashcontent">
  
Dieser Text wird durch den Flashinhalt ersetzt.
</
div
Dieser Scriptblock wird vom so-Objekt mit dem write-Befehl gelesen und bei vorhandenem Player gleich wieder mit der swf überschrieben.

Zitat:
Was ist mit "ID des object oder embed tags" genau gemeint?
Variable "so" wird hier als Referenz auf das SWFObject angelegt, damit man mit so.write die SWF laden kann. Ist genau wie in Flash:
PHP-Code:
var mc this.createEmptyMovieClip("con",1);//"mc" ist eine Referenz auf die Instanz
trace("mc="+mc); 
Zitat:
Ich nehme an, dass ich "mymovie" austauschen muss. Wie mach ich das richtig?
"mymovie" ist doch nur eine interne Bezeichnung, wichtig ist, dass der Filename für die swf stimmt. Wenn der Filename stimmt und im selben Verzeichnis wie die swf liegt, sollte dein Script funktionieren.
  Mit Zitat antworten
Alt 25-09-2007, 08:23   #3 (permalink)
Neuer User
 
Benutzerbild von flashping
 
Registriert seit: Mar 2004
Ort: Berlin (Friedenau)
Beiträge: 111
Lightbulb

Hallo Holger!
besten Dank für deine Antwort. Okay, wenn ich das jetzt richtig verstanden habe könnte ich für

<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>

statt dem Text auch alternativ ein Gif einsetzen oder?
Ich würde dann eins in der selben Größe des Flashfilms erstellen mit einem Text nach dem Motto "Diese Seite benötigt den Flashplayer".

Vermutung: Mein erstes Skript hat bisher nicht gefunzt, weil ich auf der Site schon eine andere Flash PlugIn-Erkenung mittels Javaskript eingebaut hatte.

Anders gefragt: Gehe ich recht in der Annahme, dass es sich bei SWFObject in erster Linie um ein Skript handelt, dass automatisch erkennt, ob der Besucher Flash hat oder nicht? Ich dachte nämlich bisher, es ginge halt nur um das Ausschalten der lästigen weißen Rahmen um den Flashfilm...

Erstes Fazit: Werde die erste FlashPlugIn-Erkennung wieder rausnehmen und dann das Ganze nochmal von vorn wie oben beschrieben.

Hoffe es funzt. Es handelt sich nämlich um ein Frameset in dem 2 Flashfilme liegen, die mittels Local Connection miteinander kommunizieren (was eine schwere Geburt war bis es überhaupt ging und was ich einzig & allein dem Support von gaspode zu verdanken habe!), dies, damit beide Flashfilme gleichzeitig anfangen, d.h. der eine Flashfilm wartet mit dem Abspielen so lange, bis er das "Ich bin fertig geladen"-Signal vom anderen bekommt, also eigentlich echt eine geniale Sache. Ich hoffe deshalb, dass SWFObject damit auch klar kommt.

LG, Flashping
__________________
You can´t always get what you want
But if you try sometimes you just might find
You get what you need
flashping ist offline   Mit Zitat antworten
Alt 25-09-2007, 09:24   #4 (permalink)
Neuer User
 
Benutzerbild von flashping
 
Registriert seit: Mar 2004
Ort: Berlin (Friedenau)
Beiträge: 111
Question Liegt es am Frameset?

Es geht leider immer noch nicht, weder im IE noch in Firefox. Die Filme sind einfach nicht zu sehen. Zunächst habe ich alle möglichen Fehlerquellen behoben, die mir noch aufgefallen sind, zum Beispiel arbeite ich mit Flash MX, die Ausgabe war eingestellt für den Flashplayer 6 - hab ich geändert. Dann hatte ich die Filme in den Ordner "Bilder" gepackt, das Verzeichnis habe ich so im Skript eingetragen. Das Ganze sah dann so aus:

Das Frameset hat den namen start.htm und besteht aus 3 Frames namens mainframe1.htm
menueframe1.htm
logoframe.htm

In mainframe1.htm habe ich in die betreffende <tr> reingeschrieben:

<tr><td><script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>
<script type="text/javascript">
var so = new SWFObject("bilder/home-film.swf", "mymovie1", "750", "405", "6", "#000000");
so.write("flashcontent");
</script></td></tr>

In menueframe1.htm habe ich in die betreffende <tr> reingeschrieben:

<tr><td>
<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
Dieser Text wird durch den Flashinhalt ersetzt.
</div>
<script type="text/javascript">
var so = new SWFObject("bilder/soundlab2.swf", "mymovie", "110", "30", "6", "#000000");
so.write("flashcontent");
</script>
</td></tr>

Ist doch eigentlich alles richtig so oder?

Könnte es sein, dass ich

<script type="text/javascript" src="swfobject.js"></script>

in die Head von start.htm einfügen muss? Ja, ich weiß, Framesets sind blöd, aber ich muss es so machen, weil der Soundloop sonst net funzt.

LG, Stefanie

EDIT: HURRA!!!!!!!! HABE DEN FEHLER GEFUNDEN - ES FUNZT!!! JUBEL!!! Und zwar hatte ich das Skript runtergeladen mit dem Namen swfobject-source.js und das konnte so natürlich nicht laufen, ich habe es also umbenannt auf swfobject.js und alles ist BINGO *FROI" Danke ans Tut!
__________________
You can´t always get what you want
But if you try sometimes you just might find
You get what you need

Geändert von flashping (25-09-2007 um 09:34 Uhr) Grund: NEU ERKENNTNIS!!!
flashping ist offline   Mit Zitat antworten
Alt 25-09-2007, 09:28   #5 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Du solltest nicht für beide divs die selbe ID benutzen, das ist unklug ... Außerdem würde ich nicht 2 mal ein SWFObject-Objekt mit dem selben Namen initialisieren ...

Nimm erstmal bei einer von beiden Seiten den Code zum einbinden raus und teste ob es mit einer swf funzt. Wenn ja dann änder die Namen vom Div und dem SWFObject in der 2ten Datei ab.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 25-09-2007, 09:30   #6 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
hast Du Dir einfach mal die Beispiele angeguckt die dabei sind?
querkopf ist offline   Mit Zitat antworten
Alt 16-01-2008, 16:00   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2005
Beiträge: 5
Exclamation Flash su***

möglicherweise liegt das problem an deiner fla bzw. swf DATEI!
flash zeigt manchmal extrem kuriose Verhalten. z.B.:
1) swf mit swfobject.js eingebunden, alles super, ist monatelang gelaufen
2) 3 neue codezeilen eingefügt u. veröffentlicht -> swl läft einfach garnicht mehr
3) nach einem halben Tag Fehlersuche swf Datei umbenannt -> läuft wieder
4) swf wieder den alten namen gegeben -> geht wieder nicht!

Normalerweise beommt man derartige Fehler weg, indem man "Speichern u. komprimieren" benutzt. und die swf dann neu veröffentlicht. In dem Fall halt nicht, pech gehabt. Genau diese unkontrollierbaren Fahler zählen zu den Gründen warum ich (nach 2 Jahren) Actinoscript/Flash NIE wieder für Web-"Applikationen" einsetzen werde.
flash.red ist offline   Mit Zitat antworten
Alt 16-01-2008, 16:07   #8 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Jaja ... ich kann nicht schwimmen und meine Badehose ist schuld.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele