Javascript Error
Michael Klatt
0 Stefan Muenz0 Thomas Keller0 Michael
Ich habe folgendes Problem :
ich habe einen Random MIDI Player in Javascript in meine HP eingebaut, der aus den vorhandenen MIDIs zufällig eins auswählt und in einem kleinen extra fenster abspielt. Das funktioniert auch wunderbar, ich möchte jedoch in diesem Fenster per Button einfach die entsprechende Funktion neu starten um ein neues stück zu spielen.
Und genau das klappt nicht, ich habe die Knöpfe mit einem <FORM> Tag realisiert - anders kann Netscape das ja nicht - und wenn ich dann die Funktion anspreche erhalte ich den Javascript Error das er die Funktion nicht kennt. Ein 2.Knopf der lediglich <i>window.close()</i> enthält funktioniert einwandfrei. Außerhalb des Form Tags kann ich die Funktion beliebig oft aufrufen.
Hat jemand eine Idee wie ich diesen Knopf belegen muß damit es klappt ?
Hallo Michael,
wenn ich dann die Funktion anspreche erhalte ich den Javascript Error das er die Funktion nicht kennt. Ein 2.Knopf der lediglich <i>window.close()</i> enthält funktioniert einwandfrei. Außerhalb des Form Tags kann ich die Funktion beliebig oft aufrufen.
Wenn ich es richtig kapiert habe steht die JavaScript-Funktion in dem normalen "Hauptfenster", und das MIDI wird in einem Zweitfenster abgespielt. Von dort aus soll nun auf die Funktion im Hauptfenster zugegriffen werden, um ein weiteres MIDI abzuspielen?
Dann solltest Du die Funktion aus dem Zweitfenster heraus mit:
opener.Funktionsname()
ansprechen.
Viele Gruesse
Stefan Muenz
Wenn ich es richtig kapiert habe steht die JavaScript-Funktion in dem normalen "Hauptfenster", und das MIDI wird in einem Zweitfenster abgespielt. Von dort aus soll nun auf die Funktion im Hauptfenster zugegriffen werden, um ein weiteres MIDI abzuspielen?
Dann solltest Du die Funktion aus dem Zweitfenster heraus mit:
opener.Funktionsname()
ansprechen.
genau so sollte es sein und mit deinem vorschlag klappt es auch wunderbar ... unter netscape.
während der communicator sofort nach betätigen des knopfes ein neues lied aus der liste zieht und abspielt, bleibt beim ie4 das lied unverändert.
kannst du dir darauf auch einen reim machen ?
auf jeden fall vielen dank !!
gruss
michael
der script sieht jetzt so aus :
....... diverse arrays ....
) ;
window.name="playerWindow";
function player()
{
playerWindow=window.open('','RandomMIDIPlayer','resizable=no,width=175,height=250,toolbar=no,status=no');
var index = parseInt( ( Math.random() ) * 94 ) ;
if ( isNaN( index )) index = 0 ;
playerWindow.document.clear() ;
playerWindow.document.write('<TITLE>Balous Random MIDI Player</TITLE>');
playerWindow.document.write("<body BGCOLOR=black>") ;
playerWindow.document.write("<CENTER>");
playerWindow.document.write("<img src='pics/balous_small.gif'>"+"<BR>"+"<img src='pics/midi_player.gif'>"+"<BR>");
playerWindow.document.write("<TABLE BORDER=1><TR>" ) ;
playerWindow.document.write("<TD BGCOLOR=black ALIGN=center>") ;
playerWindow.document.write("<BR><EMBED SRC="+MIDIFiles[index]+" ") ;
playerWindow.document.write("width=143 height=60 autostart=true loop=false>") ;
playerWindow.document.write("<FONT SIZE=3 COLOR=#0080FF>" ) ;
playerWindow.document.write("<B>"+"<BR>"+MIDITitles[index]+"<FONT SIZE=2 COLOR=yellow>"+"<BR>"+MIDIArtist[index]+" ") ;
playerWindow.document.write("</FONT>" ) ;
playerWindow.document.write("</TD></TR></TABLE>");
playerWindow.focus();
playerWindow.document.write("<FORM>");
playerWindow.document.write("<INPUT type='button' value='Mehr' onClick='opener.player()'>");
playerWindow.document.write(" " ) ;
playerWindow.document.write("<INPUT type='button' value='Ende' onClick='window.close()'>");
playerWindow.document.write("</CENTER>"+"</FORM>"+"<BR>");
}
während der communicator sofort nach betätigen des knopfes ein neues lied aus der liste zieht und abspielt, bleibt beim ie4 das lied unverändert.
kannst du dir darauf auch einen reim machen ?
playerWindow=window.open('','RandomMIDIPlayer','resizable=no,width=175,height=250,toolbar=no,status=no');
»
Also meiner meinung nach müßte der IE4 dier schon eine Fehlermeldung um die Ohren hauen wenn du versuchst ein Fenster ohne URL-angabe zu öffnen. Eigentlich macht das nur der NS.
Probier es 'mal in dem du einfach ein dummy einlädst bevor du schreibst.
Timo
Hat jemand eine Idee wie ich diesen Knopf belegen muß damit es klappt ?
<script language="JavaScript">
<!--
...
function jsfunction()
{
...
}
...
//-->
</script>
<form>
...
<input type=button value="JS-function starten" onClick="jsfunction()">
...
</form>
Steht aber alles in SELFHTML :-) !!!
Gruß Thomas.
...
»» <input type=button value="JS-function starten" onClick="jsfunction()">
...
Steht aber alles in SELFHTML :-) !!!
Gruß Thomas.
vielen Dank Thomas,
aber genau dieser Befehl funktioniert ja nicht .... ich werde mal den Vorschlag von Stefan ausprobieren.
Gruss
Michael