前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flash:彻底理解crossdomain.xml、跨swf调用。

Flash:彻底理解crossdomain.xml、跨swf调用。

作者头像
用户1258909
发布2018-07-05 10:51:36
1.5K0
发布2018-07-05 10:51:36
举报
文章被收录于专栏:拂晓风起拂晓风起

安全域、crossdomain.xml,到处都有各种各种零碎的基础解释,所以这里不再复述这些概念。

本文目的是整理一下各种跨域加载的情况。什么时候会加载crossdomain,什么时候不加载。

1、Loader加载图片或者swf,只要不是加载到同个安全域,都不需要拉取crossdomain.xml。获取在LoaderContext指定true,必须拉取。

     但如果后续,要读取图片或者swf里边内容,例如设置图片smoothing或者draw,都需要拉取这个文件

     如果文件不存在,会抛出安全沙箱冲突

 可以手工security.loadPolicyFile,也可以在loader中设置loader.load(new URLRequest("http://xxxxxxxx/xxxx.jpg"),new LoaderContext(true));

     但必须代码中指定拉取策略文件才会去拉取,flash不会自动拉取。如果到了截图的时候发现没有拉取这个文件,就会报错。

2、URLLoader请求的内容,flash会先自动请求crossdomain.xml,如果得到授权后再请求指定内容。

3、对于swf,如果要调用其他域名下的swf的脚本,还需要有Security.allowDomain()

http://help.adobe.com/zh_CN/AS2LCR/Flash_10.0/help.html?content=00001493.html

如果两个 SWF 文件是同一个域提供,例如,http://mysite.com/movieA.swf 和  http://mysite.com/movieB.swf,则 movieA.swf 可以检查和修改 movieB.swf 中的变量、对象、属性、方法等,而且 movieB.swf 也可以对 movieA.swf 执行同样的操作。这被称为跨影片脚本编写 或简称跨脚本编写

如果从不同的域提供两个 SWF 文件(例如 http://mysite.com/movieA.swf 和  http://othersite.com/movieB.swf),则在默认情况下,Flash Player 既不允许 movieA.swf 编写 movieB.swf 的脚本,也不允许 movieB.swf 编写 movieA.swf 的脚本。通过调用 System.security.allowDomain(),一个 SWF 文件可授予其它域中的 SWF 文件编写其脚本的权限。这称为跨域脚本编写。通过调用 System.security.allowDomain("mysite.com"),movieB.swf 授予 movieA.swf 编写 movieB.swf 的脚本的权限。

使用 System.security.allowDomain() 建立的跨域权限是不对称的。在上一个示例中,movieA.swf 可以编写 movieB.swf 的脚本,但 movieB.swf 无法编写 movieA.swf 的脚本,这是因为 movieA.swf 未调用 System.security.allowDomain() 来授予 othersite.com 编写 movieA.swf 的脚本的权限。可以通过让两个 SWF 文件都调用 System.security.allowDomain() 来设置对称权限。

当然,有crossdomain.xml文件前提下,可以直接用urlloader加载回来,然后在loader.loadBytes,这样就放到同一个程序域内了,没有上述限制了。

4、如果swf在本地运行,情况又不一样,设置受信认区域(控制面板flash),本地可以加载任意网络文件都不会出错。因为flash会略过所有crossdomain文件

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-05-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档