当前位置:  开发笔记 > 编程语言 > 正文

externalinterface - 从SWF调用javascript

如何解决《externalinterface-从SWF调用javascript》经验,为你挑选了1个好方法。

HI,

我试图从我的动作脚本代码调用一个javascript函数,但它没有工作;

AS3:

if (ExternalInterface.available)
  {
  try
  {
    ExternalInterface.addCallback("changeDocumentTitle",null);
  } 
  catch(error:Error)

js(使用swfobject的内部速度文件)

function changeDocumentTitle() 
    {
        alert('call from SWF');
    }

有谁知道会发生什么?



1> cliff.meyers..:

如果您尝试从Flex应用程序中调用JS函数,则需要使用ExternalInterface.call(...)而不是ExternalInterface.addCallback(...).来自文档:

public static function call(functionName:String,... arguments):*

调用Flash Player容器公开的函数,传递零个或多个参数.如果该函数不可用,则调用返回null; 否则它返回函数提供的值.Opera或Netscape浏览器不允许递归; 在这些浏览器上,递归调用会产生空响应.(Internet Explorer和Firefox浏览器支持递归.)

如果容器是HTML页面,则此方法将在script元素中调用JavaScript函数.

http://livedocs.adobe.com/flex/3/langref/flash/external/ExternalInterface.html

如果要将Flash应用程序中的ActionScript函数公开给HTML容器,则可以使用addCallback(),以便可以通过JavaScript调用它.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有