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

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

作者:admin |  时间:2014-02-09 |  浏览:544 |  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("*");

 

相关推荐

Redis scan操作总结
Posted on 04月10日
Web开发者不容错过的50段CSS代码
Posted on 02月11日
用Hadoop,还是不用Hadoop?
Posted on 03月18日
初探 Times33算法
Posted on 02月22日

发表评论

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

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