........<script language =javascript type ="text/javascript">        function  _gv(s,i)
        {
        
        var s;        s= "&MM_ComponentVersion=1&skinName=Halo_Skin_3&streamName=http://192.168.1.200:8080/1&autoPlay=true&autoRewind=false";        return s;        }
</script>。
<body><div>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"width="322" height="351" id="FLVPlayer1"> 
        <param name="movie" value="FLVPlayer_Progressive.swf" />
        <param name="salign" value="lt" />  
        <param name="quality" value="high" />  
        <param name="scale" value="noscale" />
        <param name="FlashVars" value=eval('javascript:_gv(s,i)')/>  
......
</div>
</body>为什么eval不起作用呢?

解决方案 »

  1.   

    这又不是js代码 
    我们平常<input type="text" value=你eval一个表达式> 得到的value不是eval后的值啊对吧 这是标签 不能像事件那样去执行一个js代码 
    我们可以等元素加载完毕后 再去动态改变这个value值 
      

  2.   

    <body><div>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"width="322" height="351" id="FLVPlayer1"> 
      <param name="movie" value="FLVPlayer_Progressive.swf" />
      <param name="salign" value="lt" />  
      <param name="quality" value="high" />  
      <param name="scale" value="noscale" />
      <param name="FlashVars" value=""/>  
    </div><script language =javascript type ="text/javascript">  function _gv(s,i)
      {
       
      var s;  s= "&MM_ComponentVersion=1&skinName=Halo_Skin_3&streamName=http://192.168.1.200:8080/1&autoPlay=true&autoRewind=false";  return s;  }var p = document.getElementsByTagName("param");
    for(var i = 0 ; i < p.length ; i ++)
    {
         if(p[i].name == "FlashVars")
         {
                  p[i].value=_gv()
         }
    }
    </script>
    </body>
      

  3.   

    4楼的方法不起作用,视频没法播放,把字符串直接粘贴到<param name="FlashVars" value=""/> 里就能起作用呀,忘记说了,我的是ASPX网页,不是静态网页
      

  4.   

    function _gv(s,i)
      {
        
      var s
    ....为啥_gv弄个参数s,还在函数体内定义个var s呢
      

  5.   

    就是说在替换那个参数的javascript参数之前,播放器已经启动了,再换那个参数,播放器不知道吧!
      

  6.   

    后台取的话也不能那样写 
    <div>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"width="322" height="351" id="FLVPlayer1">  
      <param name="movie" value="FLVPlayer_Progressive.swf" />
      <param name="salign" value="lt" />   
      <param name="quality" value="high" />   
      <param name="scale" value="noscale" />
      <!- 加个隐藏域 存储_gv(s,i)参数值-->
      <input type="hidden" id="aa" value="后台的值 怎么得到LZ应该比我们清楚">   <param name="FlashVars" value=""/>   
    ......
    </div>
    <script language =javascript type ="text/javascript">  function _gv(s,i)
      {
       
      var s;  s= "&MM_ComponentVersion=1&skinName=Halo_Skin_3&streamName=http://192.168.1.200:8080/1&autoPlay=true&autoRewind=false";  return s;  }var param = document.getElementById('aa'); var p = document.getElementsByTagName("param");
    for(var i = 0 ; i < p.length ; i ++)
    {
         if(p[i].name == "FlashVars")
         {
                  p[i].value=_gv(param) //这里调用
         }
    }</script>
    或者干脆这个逻辑不能在后台处理完了 直接在<param value="拿到后台值吗">
      

  7.   

    已经解决,写在BODY的onload 里了,函数里面给div的InnerHTML赋值即可!关键的那个字符串用ajax从服务器获取!谢谢各位的帮忙!结贴给分了!