<objcet >的 PARAM是初始化设置好了,可以用js查看,(document.all.xxx.filename)好像不能JS修改,如果要修改要用object本身提供的操作函数

解决方案 »

  1.   

    如果object提供了操作设置filename的参数可以使用<input type="file">来获取你要的文件名
      

  2.   

    ChaoticLife:你讲的我没太听明白,我javascript不太会,临时要做这个东西
    我是想要做一个在网页上的播放器,其中要用到文件解码器的控件,这个文件解码器是通过<param name="filename" value="">
    <param name="streamType" value="">
    这两个参数构造出来的,为空就构造不出来,我想用一个对话框打开文件的时候指定这个文件名,应该怎么做呢?object能动态构造么?
      

  3.   

    看一下我刚写的代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>TEST</title>
    </head><body>
    <script type="text/javascript">
    //<![CDATA[
    function openFile(oFile)
    {
    var sFileName = oFile.value;
    var oFlash = '<object id="mp3play" width="520" height="390" align="middle" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">'
    +'<param value="sameDomain" name="allowScriptAccess"/>'
    +'<param value="'+sFileName+'" name="movie"/>'
    +'<param value="opaque" name="WMode"/>'
    +'<param value="high" name="quality"/>'
    +'<param value="true" name="allowFullScreen"/>'
    +'<embed id="mp3play" width="520" height="390" align="middle" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" flashvars="url=%2Fdownload%2F%3Fres_id%3D12937%26res_type%3Dvideo&autoplay=true&xhplay=false&ad_url=http%3A%2F%2Fftv.ifensi.com%2Fad%2Fplayer_ad.swf&ad_time=10&pic=" allowfullscreen="true" allowscriptaccess="sameDomain" quality="high" wmode="opaque" src="'+sFileName+'"/>'
    +'</object>'; document.getElementById('player').innerHTML = oFlash;
    }//]]>
    </script> 
    <div id="player"></div>
    <input type="file" onchange="openFile(this);">
    </body>
    </html>