我在jsp中写了一个js方法,希望通过该方法调用flex中的某一个方法,具体代码如下所示:(jsp的页面是通过action跳转过来的)
    
       <script type="text/javascript">
       function addMethod()
  {
   alert(document.getElementById("login").width);
   var s= document.getElementById("login").addTo100(2);
            alert(s);
  }

     
    </script>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="login" width="100%" height="100%"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="login.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="login.swf" quality="high" bgcolor="#869ca7"
width="100%" height="100%" name="login" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>

</head>
<%@ include  file="../../../public/base.jsp" %>

<body marginwidth="0" marginheight="0" oncontextmenu="return false" ondragstart="return false" onselectstart ="return false"  onbeforecopy="return false" >
  --------------------------------------------------------------------------
 <a href="#" onclick="addMethod()" >进入会场&nbsp; &nbsp;</a>
   
     
Flex(login.mxml)代码如下:
 
    public function init():void{
           ExternalInterface.addCallback("addTo100",add);
                  }
    public function add(ss:int):int{
   var i:int;
var sum:int=0;
for(i=1;i<=ss;i++)
{
sum+=i;
}
return sum;
       }
          但是在点击按钮后,老提示网页错误:对象不支持此属性或者方法,我的sdk为3.2版本的,ie用的7.0,flex编译后的东西和jsp页面在同一目录下

解决方案 »

  1.   

    http://blog.csdn.net/wjtzlj/archive/2009/04/14/4073200.aspxLZ看看这个有没有帮助
      

  2.   

    function addMethod()
      {
       alert(document.getElementById("login").width);
       var s= document.getElementById("login").addTo100(2);
                alert(s);
      }
    改成
    function addTo100(num)
      {
       alert(document.getElementById("login").width);
       var s= document.getElementById("login").addTo100(num);
                alert(s);
      }
    ________________________________________________
    js:function 函数名
    ExternalInterface.addCallback("函数名",add);
    这两个函数名要相同的
      

  3.   

    <param name="movie" value="login.swf" />
    ——————————————————————————
    上面说相同的名字错了,可以不相同,
    是你的swf没有被加载,建议使用绝对路径
      

  4.   

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
                id="login" width="100%" height="100%"
                codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
                <param name="movie" value="login.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#869ca7" />
                <param name="allowScriptAccess" value="sameDomain" />
                <embed src="login.swf" quality="high" bgcolor="#869ca7"
                    width="100%" height="100%" name="login" align="middle"
                    play="true"
                    loop="false"
                    quality="high"
                    allowScriptAccess="sameDomain"
                    type="application/x-shockwave-flash"
                    pluginspage="http://www.adobe.com/go/getflashplayer">
                </embed>
        </object>
    中的凡是.swf的路径全部改成相对路径