如题,我想得到JS中的返回值。
as中:
on (rollOver) {
//flash.external.ExternalInterface.call("getLots");
flash.external.ExternalInterface.call("alert");
//getURL("javascript:alert('我想我是海!')");
//getURL("javascript:getLots('我想我是海')");
}
使用getURL可以调用如:
getURL("javascript:getLots('我想我是海')");
而用ExternalInterface.call无反应如:
flash.external.ExternalInterface.call("getLots");js中:
function getLots(){
  alert("in");
  return "800";
 }<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="100%" height="100%" id="map_sz" align="middle">
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="./dynamicbusiness_new/map_sz.swf" /><param name="quality" value="best" /><param name="scale" value="exactfit" /><param name="bgcolor" value="#ffffff" /> <embed src="./dynamicbusiness_new/map_sz.swf" quality="best" scale="exactfit" bgcolor="#ffffff" width="100%" height="100%" name="map_sz" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_cn" />
</object>谢谢!

解决方案 »

  1.   

    AS3中 ExternalInterface.call(func:String,...args)
    参数都是字符串了,
    像这样 ExternalInterface.call('getLots','我想我是海')
    或:  ExternalInterface.call('getLots("我想我是海")')为什么还用AS2???
      

  2.   

    或许是先后顺序问题...要等待 swfready domready 什么的...
      

  3.   

    是在原有功能上增强功能。
    我用的CS4,选择AS3,保存后会自动跳到AS2。
    加参的也试过,getLots()不管带不带参,其下的alert("in");总出不来
    (新手,之前没接触过,很迷惑)
      

  4.   

    前边我看错了..
    你有没有把 getLots 函数写在插入 flash 标签的前边....
    或其它的先后顺序问题...
      

  5.   

    getLots是写在flash的前面(flash标签是在页面的最后)
    还有哪些顺序得注意?
    谢谢哈
      

  6.   

    ............你把文件发到[email protected] 帮你看下..
      

  7.   

    已经发了,不管怎样,谢谢plzzzzz!
      

  8.   

    刚看了下发现在*按钮元件*动作* typeof ExternalInterface 为 undefined..点击 *ActionScript 设置*  显示为 flash player7.0 ActionScript1.0不支持此设置.....
    然后我在发布设置里 将 flash player7.0 改成 8.0 
    将 ActionScript1.0 改成 2.0...就行了然后调用 ExternalInterface.call 要以 flash.external.ExternalInterface.call全名方式on (rollOver) {
    if (flash.external.ExternalInterface.available)
    {
    flash.external.ExternalInterface.call("alert");
    }
       test2.text = typeof  flash.external.ExternalInterface.call+ "我想我是海!";}
      

  9.   

    感谢plzzz,依你所述,问题解决了。