繁体   English   中英

Flex ExternalInterface回调

[英]Flex ExternalInterface callback

柔性:

public function callFromJavaScript():String
{
       test.label='dfdsfsdf';
       return "1";
}
public function init():void {
       ExternalInterface.addCallback("sendToFlash", callFromJavaScript);
}

HTML

<object classid='clsid:x-x-x-x-x' height='200px' width='300px'>
        <param name="allowScriptAccess" value="always" />
        <param name='src' value='${swf}.swf'/>
        <embed  name='mySwf' id='qwe' src='${swf}.swf' height='200px' width='300px'/>
</object>

我知道有多种(javascript)方法,例如:document.getElementById('FlexAppId')。setName(name);

然而:

  1. 我不知道兼容跨浏览器(无法安装IE进行测试)
  2. 我已经尝试了多个,但是我无法让它们正常工作(在任何浏览器中),即时通讯可能使用了错误的ID,我已经尝试了两个小时,但仍无法正常工作。 (我听说本地文件系统上的ExternalInterface.addCallback有问题吗?我应该上传swf吗?<是flex代码正确吗?问题是javascript / html方面吗?)

已知ExternalInterface函数在浏览器和操作系统之间存在问题。 一些建议是,

  1. 用户swfobject或任何其他标准库可embed您的swf。 swfobject
  2. 使用'allowscriptaccess = always'
  3. 为嵌入标签提供正确的idname
  4. idname属性应始终相同。
  5. 如果您的swf文件来自与html页面不同的域,请使用Security.AllowDomain('domain-of-html-page.com')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM