Seite 1 von 2
Javascript Random aus array
Verfasst: 02.02.2007 12:29
von Alves
hi
ich habe mal ne frage.
ich hab ein forum und möchte in der overall_header.tpl einen javascript code so haben, dass im body tag immer eine zufallshintergrundmusik kommt, die aus einem array gelesen wird.
kurz: ich brauche ein array in javascript, daraus wird per zufall ein string gelesen und der wird in den body tag geschrieben.
ist sowas möglich?
wenn ja, wie?
hab überhaupt keine ahnung von javascript
Gruß
Alves
Verfasst: 02.02.2007 12:37
von Froggerprogger
Ich würde dir dafür eher zu php raten, aber es geht auch mit Javascipt. Dort die Math.random() für eine Zufallszahl nutzen. Schreiben in das body-tag geht mit document.write(...), an der entsprechenden Stelle,
alternativ könntest du per document.getElementById("dieIdMeinesElements").style.color = ""; bzw. anstelle style.color z.B. src = "meineNeueSounddatei" nachträglich Werte ändern.
Aber bei diesen Ansätzen weiß ich nicht, ob das alle Browser so mitmachen, und außerdem muss JavaScript aktiviert sein.
php ist hierfür wesentlich geeigneter, einfacher und läuft auf jeden Fall mit jedem Browser, da der nix davon mitbekommt.
Verfasst: 02.02.2007 12:40
von ZeHa
Ja, ich würde da auch eher zu PHP raten. Wobei ich natürlich insgesamt dazu raten würde, gar keine Musik zu spielen, aber ich kenne das Forum natürlich nicht, daher will ich da mal nicht drüber urteilen
Ansonsten aber definitiv PHP verwenden, denn das klappt immer. JavaScript schalten eben viele aus.
Verfasst: 02.02.2007 13:00
von Alves
ich weiß nicht ob es mit php geht, da der ganze bodytag in der overall_header.tpl des templates ist.
javascript kann es schon sein, da die hintergrundmusik eh nur vom ie gehört wird.
wie gesagt ich hab keine ahnung von javascript, deswegen hab ich mehr so auf code gehofft.
Verfasst: 02.02.2007 15:10
von Kaeru Gaman
Alves hat geschrieben:javascript kann es schon sein, da die hintergrundmusik eh nur vom ie gehört wird.
gute güte!
da ist schan schon mit dem schlechtesten aller browser gestraft,
dann muss man sich auch noch musik antun lassen!

Verfasst: 02.02.2007 15:36
von Froggerprogger
Hier eine Lösung:
Code: Alles auswählen
<html>
<head>
<script type="text/javascript">
<!--
var files = new Array("Song1.mp3", "Song2.mp3", "Song3.mp3");
var file = files[Math.floor(Math.random() * files.length)];
document.writeln("<embed src='"+file+"' autostart='true' loop='true' hidden='true' height='0' width='0'>");
-->
</script>
</head>
<body>
Music!
</body>
</html>
Aber wie gesagt, besser wäre es mit php, und für den Anwender komfortabler mit Flash (kennst du EMFF? (
http://www.marcreichelt.de/spezial/musicplayer/ )), da könnte man die Musik dann auch ausschalten.
Verfasst: 02.02.2007 18:07
von PMV
Alves hat geschrieben:javascript kann es schon sein, da die hintergrundmusik eh nur vom ie gehört wird.
Ist der IE nicht eher ein Grund, Javascript ab zu schalten?
Oder ist hat der IE keine Sicherheitslücken, die ihn mit Javascript noch
unsicherer machen als andere Browser?

Damit würden etwa 1% - 5 % die Musik hören, von deinen Besuchern.
Naja ich kenn deine Seite bzw die Besuchergruppen nicht
MFG PMV
Verfasst: 02.02.2007 18:26
von Alves
Ich bin es ja nicht selber, der musik hörn will, es gibt nur so ein drittel der forumsbenutzer, der den ie benutzt, und da dacht ich, kanste denen das leben auch mit musik versüßen. au0erdem ist es keine störende musik, sondern santana oder bobby mcferrin.
danke schon mal an froggerprogger, werde mir deine lösung mal anschauen.
Verfasst: 02.02.2007 18:34
von Kaeru Gaman
> au0erdem ist es keine störende musik, sondern santana oder bobby mcferrin.
pardon, jegliche website-musik empfinde ich als störung.
wenn ich musik hören will, schmeiß ich meinen eigenen player an.
jeglicher ungefragt abgespielter sound wird von mir (und anderen) als angriff empfunden.
davon ab...
wenn du echt kommerzielle mp3s auf ner website abspielen willst,
setzt du dich mit den Copyright-Belangen mal ganz fett in die Nesseln!
Verfasst: 02.02.2007 18:36
von Alves
nur das abspielen oder auch das hochladen?
erdith sagt der code von froggerprogger geht perfekt und ich danke ihm