param eines html-object per Auswahlliste ändern

Alt 27.10.2009, 16:41   # 1
lampe
 
Registriert seit: 20.04.2009
Beiträge: 12
Hallo HTML-Javascript-Eingeweihte,
in der html-Datei (s.u.) möchte ich den Parameter "FlashVars" des flash-Objekts per Auswahlliste austauschen. Kann mir jemand helfen, wie dazu die function "changeMP3" aussehen sollte? Oder ist der ganze Ansatz schon verkorkst?
Gruß, lampe

-----------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Music Box</title>
<!-- Source: EMFF code generator -->
<script type="text/javascript">
// List of mp3 songs:
Song=new Array; SongTitle=new Array;
Song[1]="./vivaldi_cello.mp3"; SongTitle[1]="Cello concerto Vivaldi";
Song[2]="./hotel_california.mp3"; SongTitle[2]="Hotel of California";
// ************************************************** **************************************
function changeMP3(mp3name)
// Function to exchange object param "FlashVars" value="src=mathilda.mp3
{
// ???????????????????????
}
// ************************************************** **************************************
</script>
</head>
<body>
<!-- mp3 player in div container -->
<div>
<object id="playerObj" type="application/x-shockwave-flash" data="emff_silk.swf" width="84" height="32">
<param name="movie" value="emff_silk.swf">
<param name="bgcolor" value="#eeeeee">
<param name="FlashVars" value="src=mathilda.mp3&amp;autostart=yes">
</object>
</div>

<h1>Music Box</h1>
<!-- select list -->
<form action="select.htm">
<p>Select song:</p>
<select name="Title" size="10"
onchange="changeMP3(this.form.Title.options[this.form.Title.selectedIndex].value)">
<script type="text/javascript">
document.write
(
// JavaScript as preparation for generating options by loop later
'<option value="'+Song[1]+'">'+SongTitle[1]+'</option>'+'<br>'+
'<option value="'+Song[2]+'">'+SongTitle[2]+'</option>'+'<br>'
//html pattern: <option value="./mathilda.mp3">Mathilda</option>
)
</script>
</form>
</body></html>
  Mit Zitat antworten
Alt 29.10.2009, 09:33   # 2
FreewareGuide
Moderator
 
Benutzerbild von FreewareGuide
 
Registriert seit: 31.10.2002
Ort: Oldenburg
Beiträge: 5.432
Moin,

ich glaube so herum klappt das nicht, die Parameter werden dem Objekt (hier dem Flash-Film) beim laden übergeben und der benutzt die dann. Das ist nicht die Schnittstelle, um dem Objekt hinterher Änderungen/Aktionen mitzuteilen, dazu müsstest Du wohl direkt mit dem Objekt (Flash-Film) kommunizieren - und das müsste Dir natürlich zuhören. Sowas nennt man API, eine Schnittstelle über die Infos weiterhin ausgetauscht werden können, und die bietet Dir dieser Player glaube ich überhaupt nicht an.

Anderen Player suchen, die Seite/das Object mit veränderten Parametern neu laden (benötigt einfaches Server-seitiges Skripting) oder massive dynamische Umbauten an der Seite mit JavaScript.

Grüße,
Thorsten
__________________
Wieder da: FreewareGuide.de
...bin letztens durch die Aufnahmeprüfung zur Hellseherschule gekracht! smiley crystal ball
  Mit Zitat antworten
Alt 29.10.2009, 09:52   # 3
lampe
Threadstarter
 
Registriert seit: 20.04.2009
Beiträge: 12
Zitat:
Zitat von FreewareGuide Beitrag anzeigen
ich glaube so herum klappt das nicht, die Parameter werden dem Objekt (hier dem Flash-Film) beim laden übergeben und der benutzt die dann. Das ist nicht die Schnittstelle, um dem Objekt hinterher Änderungen/Aktionen mitzuteilen, dazu müsstest Du wohl direkt mit dem Objekt (Flash-Film) kommunizieren - ...
Grüße,
Thorsten

Vielen Dank Thorsten,
inzwischen habe ich eine Lösung: Ich rufe das Objekt mit obj =document.getElementById ("...") in der function auf und erneuere es mit obj.innerHTML = ... komplett.

Das kommt mir zwar sehr umständlich vor, funktioniert aber. Apropos umständlich: Fast alles in HTML oder JS kommt mir so vor - jedenfalls im Vergleich zu prozeduralen Sprachen wie Fortran, Matlab oder Scilab.

Vielen Dank nochmal für Deinen Beitrag
Gruß, lampe
  Mit Zitat antworten
Alt 29.10.2009, 10:15   # 4
FreewareGuide
Moderator
 
Benutzerbild von FreewareGuide
 
Registriert seit: 31.10.2002
Ort: Oldenburg
Beiträge: 5.432
Zitat:
Zitat von lampe Beitrag anzeigen
inzwischen habe ich eine Lösung: Ich rufe das Objekt mit obj =document.getElementById ("...") in der function auf und erneuere es mit obj.innerHTML = ... komplett.
Das war was ich mit "massive dynamische Umbauten an der Seite mit JavaScript" meinte. Okay, "massiv" ist vielleicht etwas hoch gegriffen
Zitat:
Zitat von lampe Beitrag anzeigen
Das kommt mir zwar sehr umständlich vor, funktioniert aber. Apropos umständlich: Fast alles in HTML oder JS kommt mir so vor - jedenfalls im Vergleich zu prozeduralen Sprachen wie Fortran, Matlab oder Scilab.
Man muss das unterscheiden, HTML ist halt keine Programmiersprache, sondern "Markup", eine Beschreibung von Inhalt. Und JavaScript wäre eigentlich schon eine ordentliche Programmiersprache, wenn man nicht 2/3 seiner Zeit damit aufwenden müsste, die unterschiedlichen Browser-Modelle und -Fehler zu umschiffen. Stärker typisiert wäre mir lieber...

Grüße,
Thorsten
__________________
Wieder da: FreewareGuide.de
...bin letztens durch die Aufnahmeprüfung zur Hellseherschule gekracht! smiley crystal ball
  Mit Zitat antworten
Alt 21.11.2010, 21:19   # 5
ticketnews
 
Registriert seit: 21.11.2010
Beiträge: 2
wenn man sich erstmal in html und ähnliche sprachen reingefuchst hat funzt das eigentlich prima.
  Mit Zitat antworten

Alt 28.05.2012, 21:14 # --
News Flash
 
Benutzerbild von News Flash
 
 
 
   
Antwort

Stichworte
param austauschen flash
Themen-Optionen



Alle Zeitangaben in WEZ +2. Es ist jetzt 21:14 Uhr.