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 回答