我想在新打开的页面的时候,将数据库的值附值到javascript 函数中,再通过javascript 传值给flash。 问题是这样:
onclick 事件能够传值,但doDpVar("aaa") 却不能传值, 提示TData is undefined 。 请问这个问题该如何解决?<a href='javascript:void(0)' onclick='javascript:doDpVar("aaa")'>nv2</a>
<script language="javascript">
doDpVar("aaa")
</script><SCRIPT   LANGUAGE=JavaScript>   
function   doDpVar(id){   
  var   txtDP   =   id;   
  //var   obj   =   parent.document.getElementById("shop");  
  var   TData   =getFlashMovieObject("shop");  
  TData.SetVariable("txtDP",txtDP);   
  TData.TCallFrame("playerTime_mc",0);//如果有这句执行抱错   
    
  }
function getFlashMovieObject(movieName)
{
if (window.document[movieName])
{
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(movieName);
}
}
</script>

解决方案 »

  1.   

    TData.TCallFrame("playerTime_mc",0)这个是干什么的,看不懂!
      

  2.   

    刚学完js,现在在看php官方手册,flash么,还没来得及学,所以飘过
      

  3.   

    TData.TCallFrame("playerTime_mc",0)   这是播放flash 里实例名为playerTime_mc  的第一贞
      

  4.   

    刚看了一下,因为文档还没加载好,所以getFlashMovieObject("shop");什么也没get到:
    window.onload = function(){
        doDpVar("aaa");
    }
      

  5.   

    window.onload = function(){
        doDpVar("aaa");
    }
    用这个还是不行啊,虽然浏览器已经没报错,但还是没有传值到flash里
      

  6.   

    你要在flash里用ExternalInterface.addCallback注册方法,这样才能在页面上用JS取得的flash对象调用此方法。
      

  7.   


    对的,建议lz看下Flex或者Flash的官方文档,查下ExternalInterface是怎么使用的。你就知道怎么调用了