0

そのため、document.write を使用して別のスクリプトをドキュメントに書き込もうとしています。関数のコードは次のとおりです。

    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('"<d"+"iv id=jwplayer>"
+ "<cen"+"ter>" +
"<d"+"iv id=mediaplayer>"+"</di"+"v>"+
"<scr"+"ipt 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+")'
  }); " +
"</scr"+"ipt>"+
"</cen"+"ter>"
')

基本的には、表示されるはずのレコーダーが表示されないだけです。これを機能に含めると、何らかの理由で機能し $('#record').hide();ません...

4

2 に答える 2

1

<div>using jQuery を直接追加し、通常どおり関数を呼び出す必要があります。

于 2012-10-10T01:54:08.447 に答える
0

document.write()ドキュメントが解析されると、現在のドキュメントがクリアされるため、使用しないでください。代わりに、プログラムでドキュメントに要素を追加する必要があります。

ドキュメントがロードされた後に HTML をドキュメントに追加するには、次の JavaScript を使用できます。

var player = document.createElement("div");
player.innerHTML = '<div id="mediaplayer"></div>';
player.id = "jwplayer";
document.body.appendChild(player);    // you decide where to add it to your page

jwplayer('mediaplayer').setup({
    'flashplayer': 'jwplayer/player.swf',
    'id': 'playerID',     // shouldn't this match one of the IDs in your HTML???
    'width': '640',
    'height': '580',
    'provider': 'rtmp',
    'streamer': 'rtmp://domain/recorder/_definst_',
    'file': 'onSaveOk("+streamName+")'
  });
于 2012-10-10T02:38:31.453 に答える