Javascript-Dokument.write('HTML-CODE HIER') und mit Hilfe eines var packte flash
dies ist also 2 Fragen in einem. Meine erste Frage ist, wie kann ich dies tun?
document.write('
<div id="jwplayer">
<center>
<div id='mediaplayer'></div>
<script type="text/javascript">
jwplayer('mediaplayer').setup({
'flashplayer': 'jwplayer/player.swf',
'id': 'playerID',
'width': '640',
'height': '580',
'provider': 'rtmp',
'streamer': 'rtmp://domain/recorder/_definst_',
'file': 'onSaveOk("+streamName+")'
});
</script>
</center>
</div>
');
Ich grundsätzlich nur ausdrucken möchten, dass code, wenn die Funktion aufgerufen wird.
Dies ist der zweite Teil meiner Frage, diese Funktion läuft, wenn der flash-video-recorder beendet speichern von aufgezeichneten Videos. Es packt alle Variablen in den Funktionen, die Argumente aus der flash-player. Möchte ich verwenden Sie eine der Variablen in meinem jwplayer code, wie kann ich dies tun?
Hier ist die Funktion:
function onSaveOk(streamName,streamDuration,userId,cameraName,micName,recorderId){
//alert("onSaveOk("+streamName+","+streamDuration+","+userId+","+cameraName+","+micName+")");
//the user pressed the [save] button inside the recorder and the save_video_to_db.XXX script returned save=ok
//recorderId: the recorderId sent via flash vars, to be used when there are many recorders on the same web page
$('#record').hide();
document.write('
<div id="jwplayer">
<center>
<div id='mediaplayer'></div>
<script type="text/javascript">
jwplayer('mediaplayer').setup({
'flashplayer': 'jwplayer/player.swf',
'id': 'playerID',
'width': '640',
'height': '580',
'provider': 'rtmp',
'streamer': 'rtmp://domain/recorder/_definst_',
'file': 'onSaveOk("+streamName+")'
});
</script>
</center>
</div>
');
}
Dies ist, wo ich versuche, die streamName-Funktion, aber es funktioniert nicht:
'file': 'onSaveOk("+streamName+")'
Wie kann ich dies tun? Danke.
InformationsquelleAutor CJ Sculti | 2012-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten, die JavaScript nicht erlauben, mehrzeilige strings, so Recht-off-the-bat Ihre
document.write
wird zu werfen einen syntax-Fehler. Sie haben mindestens ein paar Möglichkeiten, darüber zu gehen. Sie konnte Sie einfach entfernen Sie die Zeilenumbrüche, so dass die gesamte Zeichenfolge in einer einzigen Zeile......aber das ist eher nicht so gut lesbar. Oder können Sie entkommen die Zeilenumbrüche mit backslashes...
...das ist mehr lesbar, aber wohl irgendwie spröde -- alle Leerzeichen nach dem Backslash wird ihn brechen ohne ersichtlichen. Dann könnten Sie verketten Sie die Zeichenfolge ein line-in einer Zeit...
...die ich denke etwas verringert die Lesbarkeit der Ausgabe der ersten Methode und die Sprödigkeit Ausgabe des zweiten. Schließlich könnten Sie ein array von strings, und kommen Sie...
...[ganz subjektiv] Vorteil, dass das repetitiver
lines += ...
. In jedem Fall, das ist keineswegs eine erschöpfende Liste von Ansätzen, die es am meisten darauf an, mit was auch immer Sie sich am wohlsten fühlen mit.Nächsten, dein string ist, ganz ehrlich, eine riesige mish-Maische von widersprüchlichen single - und double-quotes. Wenn Sie brauchen, um die gleiche Art von Anführungszeichen, wie Sie verwenden, schließen Sie die Zeichenfolge, dann brauchen Sie, Ihnen zu entkommen:
Offensichtlich(?) Sie wollen, um zu halten, die entweicht, auf ein minimum, und da sind Sie erstellen eine Zeichenfolge(N) html, würden Sie wahrscheinlich wollen, schließen diejenigen, die mit single-quotes und double-quotes für die Attribut-Werte. Aber nochmal, es ist egal was Stil am meisten Sinn macht für Sie.
Und schließlich beide der oben genannten Probleme sind das, was verursacht die
streamName
parameter an die Funktion übergeben, nicht zu arbeiten, da waren Sie schon im laufen in die zahlreichen Fehler, lange bevor Sie lernten, dass die Linie. Wenn Sie die string-Probleme geradeaus, dannfunktionieren sollte, wie Sie es wollen.
Hinweis: ich bin der Verzicht auf die obligatorischen Warnungen über a) die Verwendung von
document.write()
und b) mit<center>
- tags, aber Sie sollten sich einige Zeit nehmen, ein wenig Forschung zu tun, in der diese Fragen; ich will nur sagen, dass 1998 rief an und sagte, "Das ist cool, ich wollte nicht, dass diese wieder irgendwie".InformationsquelleAutor ultranaut
Spät, um die Partei setzen, die ich eigentlich lieber:
//Beginn der html -
Gültigen javascript 'foo'+\n\r\t 'Bar' == 'foobar';
InformationsquelleAutor Luigi van der Pal