javascript和swf在网页中交互的一些总结

javascript和swf在网页中交互的一些总结

作者:admin |  时间:2014-02-09 |  浏览:543 |  0 条评论

Javascript和swf在网页中交互一般可有以下几种情况:

1. swf和这些调用的javascript在同域

2.swf和这些调用的javascript在不同域,比如加载远程的swf然后 call别的地方的服务

对于swf跨域call服务的问题,可通过crossdomain.xml配置解决。

但对于加载远程的swf,默认情况下,根本不能将里面的方法成功注册为向javascript公开的方法,一般会报下面的错误:

a) SecurityError: Error #2060: 安全沙箱冲突:ExternalInterface,调用者remote.com/test.swf(所加载的远程swf)不能访问127.0.0.1(本机的一个服务)

at flash.external::ExternalInterface$/_initJS()

at flash.external::ExternalInterface$/addCallback()

...

b)错误:uncaught exception: Error calling method on NPObject! [plugin exception: Error in ActionScript. Use a try/catch block to find error.]

解决发放

对于a错误,是因为远程的swf加载到本地后没有权限去访问当前html文档,对于这个我们只需要在输出swf的时候设置allowScriptAccess属性,一般设置为always,

即可解决问题。

对于b错误,是因为默认actionscript中不允许将方法注册到不同域的html文档中,对于这个我们只要在as中加代码即可解决:

import flash.system.Security;

Security.allowDomain("*");

Secrity.allowInsecureDomain("*");

 

相关推荐

Memcache及telnent命令详解
Posted on 04月27日
PHP修改crontab
Posted on 07月02日
CPU流水线的探秘之旅
Posted on 02月22日
招致创业失败的七个错误
Posted on 03月06日

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>