dynamisch erzeugter JS code macht probleme

DiDiJo

Erfahrenes Mitglied
hey leute ...

ich hoffe ich bin nun hier nicht falsch. Aber ich ich weiß im Moment gar nicht ob es ein PHP problem ist oder ob es doch an JS liegt.

ich arbeite mit dem JW Player und möchte ihm eine Playlist übergeben ... in Form eines Arrays.

Dafür habe ich mir ein paar PHP Funktionen die mir die JAVAscript sahcen erzeugen. Soweit auch kein Problem. So sieht der Quelltext aus den ich mir erzeuge:

HTML:
<script type="text/javascript" src="/www/xxxxxxxxxxxxxxxxx/elements/videoplayer/swfobject.js"></script>
<script type="text/javascript">

function showPlayer(){
	createPlayer();
	player.sendEvent("LOAD", lst);
}

var player = null;
function playerReady(thePlayer) {
	player = window.document[thePlayer.id];
}
					
function createPlayer() {
	var flashvars = {
		file:"",
		image:"",
		autostart:"true", 
		playlist:"bottom",
		playlistsize:"100",
		shuffle:"false",
		repeat:"always"
	}

	var params = {
		allowfullscreen:"true", 
		allowscriptaccess:"always"
	}

	var attributes = {
		id:"player1",  
		name:"player1"
	}

	swfobject.embedSWF("/www/hxxxxxxxxxxx/elements/videoplayer/player.swf", "video_player", "480", "396", "9", false, flashvars, params, attributes);
}
var lst = new Array();

1st[0] = {
	author:"Body.TV",
	description:"Ein Demo Video von PR Mallorca",
	file:"/uploads/videos/wk493.flv",
	link:"",
	image:"/uploads/screenshots/1225193328-video-screen.jpg",
	title:"Eine Demo-Video",
	type:"video"		
}

1st[1] = {
	author:"Body.TV",
	description:"bein test",
	file:"/uploads/videos/wk493.flv",
	link:"",
	image:"/uploads/screenshots/1225193349-video-screen.jpg",
	title:"bein test",
	type:"video"		
}

</script>
</head>

<body  onload="showPlayer()">

das Problem ist jetzt das er mir sagt, dass showPlayer() undefiend ist obwohl sie ja eindeutig ob steht.

Ich bin jetzt nicht so der JS Profi ... wenn ich ehrlich bin breche ich mir mit solchen Geschichten immer wieder einen ab.

Kann da mal jemand rüberschauen ? vlt. findet ja wer den fehler

p.s.

anscheined wir dort zwischen noch ein ';' erwartet aber meiner meinung nach macht das keinen sinn

HTML:
var lst = new Array();

1st[0] = {
 
Zuletzt bearbeitet:
Falls du nun versuchst, einfach die Variableninitialisierung anzupassen: Variablen müssen mit einem Unicode-Buchstaben, $, _ oder \uhhhh (Unicode-Escape-Sequenz) beginnen.
 
yes jo

das problem mit der array und dem fehlenden ';' hab ich gelöst indem ich das Array jetzt einfach mal in 'vid' umbenannt habe ...

nun sagt mir aber das script, das swfobject nicht definiert ist.

muss diese swfobject.js datei im gelichen ordner sein wie die php datei die ich aufrufe weil der pfad stimmt. ich habe sie auch schonmal benutzt ... allerdings öffne ich den player dort anders:

HTML:
            <script type='text/javascript' src='/elements/videoplayer/swfobject.js'></script>
            <script type='text/javascript'>			
            var s1 = new SWFObject('/elements/videoplayer/player.swf','player','480','396','9');			
            s1.addParam('allowfullscreen','true');
            s1.addParam('allowscriptaccess','always');
			//s1.addParam('autostart','true');
			//s1.addParam('flashvars','file=<?=$video?>');
            s1.addParam('flashvars','file=<?=$video?>&autostart=true&repeat=always');
            s1.write('preview');
            </script>

dort is die php-Datei im gleichen Ordner wie die *.js Datei und die player.swf. Das macht keine probleme ... nun versuche ich aber den player auf der index.php einzubauen. die index steht ja auf dem ROOT und der player mit *.js Datei liegt in ROOT/elements/videoplayer.

müssen jetzt die 3 dateien (php js und swf datei) im selben pfad sein ?

und kann ich den player auch mit der zweiten möglichkeit einbauen ... wenn ja wie übergeben ich dem ein array



p.s. ich ortientiere mich übrigens an dieser seite :
http://home5.inet.tele.dk/nyboe/flash/mediaplayer4/JW_API_xmpl_5-2-4-0.html#
 
Zuletzt bearbeitet:
Gibts für das Pfadproblem schon eine Lösung?

Habe genau das gleiche Problem, dass mein swfobject und die swf Dateien in einem anderen Ordner liegen und dann funktioniert es nicht.

mfg master
 
Zurück