Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX 2004

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-11-2007, 16:59   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 5
Probleme mit Variablenübergabe an Flash

Hallo allesammt,

ich bin kein Crack in Flash und habe mir mit Hilfe der Beiträge hier was zusammen gecoded. Leider funktioniert es sehr unzuverlässig.

ICh habe eine eine Seite mit einem Flashmenue oben und einem Iframe in dem sich der Inhalt austauscht.

Das ganze ist ein CMS auf PHP-Basis.


Wenn eine Unterseite über Suchmaschine aufgerufen wird, soll die Hauptseite mit dem Flashmenmue geöffnet werden und die Seite in das Iframe geladen werden. Dies mache ich über Javascript und das funktioniert auch.
Das Problem ist nun folgendes.
Das Flashmenue besteht aus 3 Teilen:

- Intro
- Menuepunkt 1
- Menuepunkt 2

Wird die Seite ganz normal aufgerufen wird das Intro abgespielt und der Besucher kann danach zwischen 2 Mnenuepunkten auswählen. Nach der Wahl läuft dann Teil 1 (Menuepunkt 1) oder Teil 2 (Menuepunkt 2) des Flashfilms ab.

Wird aber eine Unterseite über Javascript nachgeladen, soll nicht das Intro abspielen sondern gleich Menuepunkt 1 oder 2, jenachdem zu welchem Menuepunkt die Unterseite gehört, des Flashfilms abgespielt werden.

Es funktioniert zwar, jedoch nur ab und zu. Beim 1. Mal sowieso nicht.
Wenn klappt es nach dem ersten mal. Machmal läuft das Intro ab, obwohl es das ja nicht soll, der Explorer spielt immer den gleichen Menuepunkt ab.
Der Firefox erkennt ihn.

Hier nun meinen Code den ich verwende:

Javascript in Unterseite die aufgerufen wird:

HTML-Code:
<script type="text/javascript">
if (top.frames.length < 1) {
 location.href="../../index.php?site="+window.location+"&rubrik=photo";
}
</script>
location.href sähe z.b. so aus:
http://www.meineseite.de/photo/index.php?rubric=About+us&rubrik=photo

ich muss also 2 Variablen übergeben.
welche seite es ist (site (photo/index.php?rubric=Brand+About+us) gehört alles zum CMS und bei manchem Unterseiten sind noch mehr Variablen) und welche Rubrik (rubrik (photo)). Rubrik "photo" wäre Menuepunkt 1 des Flashfilms.

Indexseite in der sich der Flashfilm und das Iframe befindet:

PHP-Teil:

PHP-Code:
<?php
if ($_GET["site"]!="") {
 
$adresse $_GET["site"];
 
$welcherubrik $_GET["rubrik"];
}
?>
Eingebundener Flashfilm:

HTML-Code:
<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="1024" height="55" id="startmenue2" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="flash/test.swf?welcherubrik=<?php  echo $welcherubrik; ?>&welcheseite=<?php  echo $adresse; ?>" />
<param name="loop" value="false" />
<param name="menu" value="true" />
<param name="quality" value="best" />
<param name="scale" value="exactfit" />
<param name="bgcolor" value="#ffffff" />
<param name="swliveconnect" value="true">
<param name="wmode" value="opaque">
<embed src="flash/test.swf?welcherubrik=<?php  echo $welcherubrik; ?>&welcheseite=<?php  echo $adresse; ?>" loop="false" menu="true" quality="best" scale="exactfit" bgcolor="#ffffff" swLiveConnect=true width="1024" height="55" wmode="opaque" name="startmenue2" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

Und der Code im Flashfilm gleich auf dem 1. Frame:

Code:
if (welcherubrik eq "") {
  getURL("intro/index.php", "meiniframe");
  gotoAndPlay (2);
} 
else  {
  getURL(welcheseite, "meiniframe");
  if(welcherubrik eq "photo" )  { gotoAndPlay(168); }
  else { gotoAndPlay(75); }
}

Wird in der Variable "welcherubrik" kein Wert übergeben soll er die Introseite reinladen und im Flashfilm das Intro abspielen.
ISt doch ein Wert vorhanden soll er je nachdem welcher Wert "welcherubrik" hat Film 1 oder Film2 abspielen.

Leider funktioniert es sehr unzuverlässig. Beim ersten mal garnicht. da spielt er immer das Intro.

Muss ich noch Variablen deklarieren im Flashfilm?
Was ist mich auch interessieren würde.

Was sollte man bei Actionscript eher verwenden.

Code:
if (welcherubrik eq "")
{

oder

Code:
if (welcherubrik == "") {
?

Ist meine Vorgehensweise so überhaupt empfehlenswert?

Über Hilfe würde ich mich freuen, habe versucht möglichst verständlich mein Problem zu erläutern.

Gruß Ron

Geändert von rooon (09-11-2007 um 13:55 Uhr)
rooon ist offline   Mit Zitat antworten
Alt 09-11-2007, 09:23   #2 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Die Tendenz ist schon richtig, aber der Flashcode ist (sorry) unschön ...

1. solche Sachen wie eq sind Flash 4 oder 5 Syntax, das macht man nicht mehr so.

2. Flash ist nun mal Zeitleistenbasierend darum sollte man nie aus "Faulheit" drauf verzichten die Zeiltleiste die man ansprechen will mit vor die Befehle zu schreiben. Das ist bestenfalls schlechter Stil und schlimmstenfalls eine potentielle Fehlerquelle.

PHP-Code:
if (_root.welcherubrik == "") {
  
getURL("intro/index.php""meiniframe");
  
  
_root.gotoAndPlay(2);
} else  {
  
getURL(welcheseite"meiniframe");
  
  if(
_root.welcherubrik == "photo" )  { 
    
_root.gotoAndPlay(168); 
  } else { 
    
_root.gotoAndPlay(75); 
  }

Ich finds persönlich auch schlechten Stil sowas zu machen:

PHP-Code:
// ...
<embed src="flash/test.swf?welcherubrik=&welcheseite="
// ... 
Das würde ja bei dir stehen wenn die Variablen nicht gesetzt sind (und ich mich nicht verguckt habe) ... Wenn die nicht gesetzt sind würde ich sie auch gar nicht an den swf-Namen anhängen.
__________________
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 09-11-2007, 13:50   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 5
Vielen Dank für deine Antwort.

Ja, Flash ist bei mir schon Jahre her und die Entwicklung die vollzogen wurde, ist für mich verwirrend.
Habe es mehr mit Javascript.

ICh habe den Flash-Code deinem angepasst.
d.h. mit _root gearbeitet.

Ändern an der Problematik tut sich aber leider nichts.
Klappt immer noch nur beim 2. mal.

Wenn ich den PHP-Teil anpasse, d.h. mit PHP entscheide ob Variablen mitgeschickt werden, funtioniert es garnicht mehr.
Dann kommt "Seite nicht gefunden" und der Pfad der Seite wäre "undefinied"

PHP-Code:
<?php  if ($_GET["site"]!="") {  ?>
<param name="movie" value="flash/test.swf?welcherubrik=<?php  echo $welcherubrik?>&welcheseite=<?php  echo $adresse?>" />
<?php  }  else { ?>
<param name="movie" value="flash/test.swf" />
<?php  }  ?>
embed natürlich genauso..

Ist zum Verzweifeln....
Hoffe auf weitere Tips...
rooon ist offline   Mit Zitat antworten
Alt 13-11-2007, 11:46   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 5
Kann keiner helfen?

Hallo,

leider bin ich immer noch nicht mit meinem Problem fertig geworden.
Und dabei habe ich mir solche Mühe gegeben das Problem darzulegen.

Das Problem müssten doch viele andere auch schon gelöst haben...
Ist doch nichts besonderes...

Oder gibt es bessere Foren wo ich mich hinwenden sollte?

Gruß Ron
rooon ist offline   Mit Zitat antworten
Alt 14-11-2007, 13:14   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 5
Ist hier jemand der mir gegen eine finanzielle Entschädigung hilft das Problem in den Griff zu bekommen?
Wäre recht dringend....

Gruß Ron
rooon 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 01:26 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele