Steuerung per Javascript funktioniert einfach nicht …
  • Hallo und erst einmal danke für den wirklich tollen Player. An sich funktioniert der Player auf meiner Seite www.mosik.info super. Nun will ich, dass der Player nach dem laden der Seite von selbst startet (per onload). Aufgrund von diversen Scriptaculous-Effekten möchte ich dies per JavaScript tun mit der Funktion document.zanmantou1.start().

    Ich habe eine Testseite eingerichtet um nur die Start-Funktion zu testen, aber es will und will einfach nicht funktionieren (obwohl der Player super geht)!

    Hier zum Beispiel: www.mosik.info/sandbox/

    Was mache ich falsch?


    <br /><br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><br /><title>Unbenanntes Dokument</title><br /> <br /> <script type="text/javascript" src="JavascriptMicroAPI.js"></script><br /><br /> <script type="text/javascript"><br /> window.onload = init;<br /> function init() {<br /> // Wichtig : die richtige Player ID eintragen<br /> document.zanmantou1 = new Zanmantou("player1");<br /> }<br /> </script><br /><br /></head><br /><br /><body><br /><br /> <object id="player1" type="application/x-shockwave-flash" data="zanmantou.swf" height="30" width="550"><br /> <param name="id" value="player1" /><br /> <param name="movie" value="zanmantou.swf"></param><br /> <param name="allowScriptAccess" value="sameDomain"></param><br /> <param name="quality" value="best"></param><br /> <param name="scale" value="noscale"></param><br /> <param name="salign" value="lt"></param><br /> <param name="bgcolor" value="#000000"></param><br /> </object> <br /> <br /> <input onclick="document.zanmantou1.start()" type="button" value="start" /><br /> <a href="javascript:document.zanmantou1.start();">start</a><br /> <br /></body><br /></html><br /><br /><br />

    Habe auch schon versucht, die Sachen nach dem Player einzusetzten — geht auch nicht. Ich bin am verzweifeln.

  • 10 Answers sorted by
  • ich versteh nicht ganz, was funktioniert nicht ?
    wenn ich auf deiner testseite auf start klicke startet der player ?!

  • Ja, komisch, beim Abruf vom Server geht es, aber lokal auf meinem Rechner nicht. Keine Ahnung.

    Allerdings bekomme ich es noch immer nicht hin, dass der player von alleine abspielt sobald die Seite geladen wurde. Ich hatte das alles vorher über die config.xml-Datei gelöst. Es werden allerdings nach fertig geladener Seite ein paar Scriptaculous-Effekte ausgeführt, die den eigentlichen Seiteninhalt erst sichtbar machen (siehe hier). Deshalb soll der Player erst nach Ausführung der Scriptaculous-Effekte starten, da man sonst lange warten müsste, bis der Player (bei autostart=true) den ersten Song geladen hat. Also möchte ich das gerne per JavaScript lösen. Habe nun folgendes probiert, funktioniert aber nicht (live hier):

    <br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><br /><title>Unbenanntes Dokument</title><br /> <br /> <script type="text/javascript" src="JavascriptMicroAPI.js"></script><br /><br /> <script type="text/javascript"><br /> window.onload = init;<br /> function init() {<br /> // Wichtig : die richtige Player ID eintragen<br /> document.zanmantou1 = new Zanmantou("player1");<br /> <br /> }<br /> </script><br /><br /></head><br /><br /><body><br /><br /> <object id="player1" type="application/x-shockwave-flash" data="zanmantou.swf" height="30" width="550"><br /> <param name="id" value="player1" /><br /> <param name="movie" value="zanmantou.swf"></param><br /> <param name="allowScriptAccess" value="sameDomain"></param><br /> <param name="quality" value="best"></param><br /> <param name="scale" value="noscale"></param><br /> <param name="salign" value="lt"></param><br /> <param name="bgcolor" value="#000000"></param><br /> </object> <br /> <br /> <input onclick="document.zanmantou1.start()" type="button" value="start" /><br /> <a href="javascript:document.zanmantou1.start();">start</a><br /> <br /> <script type="text/javascript"><br /> window.onload = auto;<br /> function auto() {<br /> document.zanmantou1.start(); <br /> }<br /> </script><br /> <br /></body><br /></html><br />

    Die Konsole gibt mir allerdings folgende Fehlermeldung aus:

    Undefined value
    http://mosik.info/sandbox/ (line 39)

    Line 39 wäre document.zanmantou1.start();

    Was mache ich nur falsch??

  • du kannst window.onload nicht 2mal zuweisen ;)
    außerdem machts so wie dus hast auch keinen sinn...

    window.onload = init;
    function init() {
    // Wichtig : die richtige Player ID eintragen
    document.zanmantou1 = new Zanmantou("player1");
    document.zanmantou1.start();
    }

    das einfach in den head rein und fertig ;)

    btw, lokal geht der player wegen den sicherheitseinschränkungen nicht ;)

  • Das hatte ich zuvor probiert, ging aber nicht bzw. geht immer noch nicht: Live Example

    <br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><br /><title>Unbenanntes Dokument</title><br /> <br /> <script type="text/javascript" src="JavascriptMicroAPI.js"></script><br /><br /> <script type="text/javascript"><br /> window.onload = init;<br /> function init() {<br /> // Wichtig : die richtige Player ID eintragen<br /> document.zanmantou1 = new Zanmantou("player1");<br /> document.zanmantou1.start();<br /> }<br /> </script><br /><br /></head><br /><br /><body><br /><br /> <object id="player1" type="application/x-shockwave-flash" data="zanmantou.swf" height="30" width="550"><br /> <param name="id" value="player1" /><br /> <param name="movie" value="zanmantou.swf"></param><br /> <param name="allowScriptAccess" value="sameDomain"></param><br /> <param name="quality" value="best"></param><br /> <param name="scale" value="noscale"></param><br /> <param name="salign" value="lt"></param><br /> <param name="bgcolor" value="#000000"></param><br /> </object> <br /> <br /> <input onclick="document.zanmantou1.start()" type="button" value="start" /><br /> <a href="javascript:document.zanmantou1.start();">start</a><br /> <br /></body><br /></html><br />

  • ah jo da war was..blödes standard javascript...
    das starten braucht nen leichten timeout nach der initialisierung von dem flash ding. so 500ms
    per window.setTimeout

  • Geht immer noch nicht, vielleicht bin ich einfach zu blöd dafür … einfach frustrierend!

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><br /><title>Unbenanntes Dokument</title><br /> <br /> <script type="text/javascript" src="JavascriptMicroAPI.js"></script><br /><br /> <script type="text/javascript"><br /> window.onload = function{<br /> window.setTimeout("init()", 500);<br /> }<br /> function init(){<br /> document.zanmantou1 = new Zanmantou("player1");<br /> document.zanmantou1.start();<br /> }<br /> </script><br /><br /></head><br /><br /><body><br /><br /> <object id="player1" type="application/x-shockwave-flash" data="zanmantou.swf" height="30" width="550"><br /> <param name="id" value="player1" /><br /> <param name="movie" value="zanmantou.swf"></param><br /> <param name="allowScriptAccess" value="sameDomain"></param><br /> <param name="quality" value="best"></param><br /> <param name="scale" value="noscale"></param><br /> <param name="salign" value="lt"></param><br /> <param name="bgcolor" value="#000000"></param><br /> </object> <br /> <br /> <input onclick="document.zanmantou1.start()" type="button" value="start" /><br /> <a href="javascript:document.zanmantou1.start();">start</a><br /> <br /></body><br /></html>

  • ja so machts das gleiche, das geht auchnet^^


    <br /><script type="text/javascript" src="JavascriptMicroAPI.js"></script><br /><br /><script type="text/javascript"><br />window.onload = function(){<br />document.zanmantou1 = new Zanmantou("player1");<br />window.setTimeout("start()", 500);<br />}<br /><br />function start(){<br />document.zanmantou1.start();<br />}<br /></script><br />

  • SUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUPER!

    Klappt! Tausendfachen Dank! Bin überglücklich!

    Zantmantou is the best of the best!

  • HAH, zu früh gefreut:

    Geht nun prinzipiell immer, wenn man die Seite direkt aufruft: www.mosik.info.

    Wird die Seite aber in einem neuen Tab (bzw. Registerkarte im IE) im Hintergrund geöffnet und aktiviert man diesen Tab dann ein paar Sekunden später, dann startet der Player nicht.

    Das Problem ist allerdings nur bei folgenden Browsern festzustellen: Safari 3, Opera 9. Bei Firefox 3 und IE 7 geht's immer, egal ob die Seite in einem aktiven Tab oder in einem Tab im Hintergrund geöffnet wird.

    Kann dies von Zanmantou beeinflusst werden oder liegt das am Browser selbst?

  • liegt am browser selbst, da die ausführung von js teilweise unterbrochen wird wenn der tab nicht aktiv ist..

Willkommen!

It looks like you're new here. If you want to get involved, click one of these buttons!

Einloggen Registrierung!

Diskussionsteilnehmer

Who's Online (0)