• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • photoshop
  • Fireworks
  • CorelDraw
  • Illustrator
  • Painter
  • Freehand
  • Indesign
  • flash
  • maya
  • autocad
  • 3dmax
您的位置:首页 > 平面设计 >flash > flash as3.0 跨域的解决办法

flash as3.0 跨域的解决办法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-24

佚名 向大家分享了flash as3.0 跨域的解决办法,其中包含flash as3.0教程,flash as3.0,flash as3.0视频教程,flash as3.0下载,flash as3.0源代码等知识点,遇到此问题的同学们可以参考下
    Flash跨域问题相信不是所有人都可以遇到,如果你在本地发布,或者说直接Ctrl+Enter在FlashIDE中预览,是不会遇到跨域问题的,当然,跨域有个前提,那就是Flash不是完全独立的,与外界要做一些通信和交互,如果你的Flash是完全独立的文件,没有和外界发生任何交互和数据通信的话,那么你可以不考虑跨域问题,因为这也不存在跨域问题。
什么是跨域?
    跨域简单的说就是访问其他域名的文件或资源,比如a.com的Flash去访问b.com的资源,那么就会引起跨域的问题,因为a.com和b.com不是同一个域名。
为什么有跨域问题?
    其实不仅仅是Flash,Javascript等一些脚本也有跨域的问题,这个主要是自身的安全机制所决定的,因为跨域访问一些文件或资源有一定的危险性,他超过了网站自身的范围,对于站外的资源无法审核其安全性,在网络病毒木马日益猖獗的今天,跨域限制访问是其安全策略的一个重要解决手段。
跨域有什么问题?
    跨域的问题有很多,最直接的就是所访问的文件被限制了,这样一来,你的Flash就不能正常工作了,所以是让人很头疼的一件事情。
现在的Flash已经不仅仅是作为一个动画了,更多的有了数据交互,所以和外界的通信来作为一个互动性比较强的媒介来展现,跨域也是其中必须解决的一个问题。
恩,那也许有人说了,既然有跨域的问题,那我把资源都放在同一个域名下不就可以了?恩,的确可以这样做,但是有时候我们也会遇到访问外部资源的情况,而且在一个比较正规的项目中,Flash和Html往往是分开放的,很多公司也是这样,为了便于维护和管理,所以跨域的问题就容易出现。
1、Flash自身的安全机制设置:
     Flash中,在IDE运行是没有任何安全限制的,但是发布出去的话,就会有不少限制,Flash有2中发布方式,一个是仅访问网络,一个是仅访问本地,大家可以在文件-发布设置-Flash选项卡中看到,注意必须是在Flash文件有效时才会有哦,如果当前编辑的是as文件是木有这个选择菜单的:
 
    这里就已经限制了Flash的安全级别,如果是只访问本地,那么Flash中所有的对Web的访问都将禁止,而只访问网络的话,对本地的文件访问都将禁止,所以大家根据实际的用途来选择,如果你希望你的Flash放到Web上,那么就选择只访问网络,这样的话你测试就务必放在WebService中测试了,本地运行就会出现各种问题(如果有数据通信的话),例如:测试URLhttp://127.0.0.1/123.swf。
2、ActionScript代码设置:
    AS2写法:
System.security.allowDomain("*");//针对不同http资源 System.security.allowInsecureDomain("*");//针对需要安全验证的资源,比如https</div>    AS3写法:
flash.system.Security.allowDomain("*"); flash.system.Security.allowInsecureDomain("*");</div>    上面就是严格的写法,AS3还好说,大家要注意一下AS2,AS2是木有flash.system这个包的,但是你import flash.system并不会报错,所以如果你把AS3的代码复制进去运行虽然一切正常,但是实际是木有任何效果的。一定要注意! 上面的代码就是说允许Flash去访问任何URL资源,如果只想访问特定的URl,就把*改成该URL即可,如果多个URl,就用逗号分隔就可以了,注意allowInsecureDomain是允许访问带验证的URL资源,比如https打头的,如果你访问的只是普通http的话就不需要了。 3、html的设置:
    如果你需要和页面的JS通信,那么html里就必须有这样一个参数:
<param name="allowScriptAccess" value="always" /></div>    参数always表示始终允许脚本访问,如果是never,就表示始终不允许。 4、加载外部资源:     如果你要读取一个外部文件,比如swf,picture,mp3等等,那么就需要一个跨域策略文件(crossdomain.xml),这个其实就是一个xml文件,具体内容是:
<?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="www.explorechn.com" /> <allow-access-from domain="explorechn.com" /> <allow-access-from domain="223.4.119.191" /> </cross-domain-policy></div>    这就是跨域策略文件,allow-access-from domain表示允许访问的URl,如果有多个依次添加,如果允许所有就一个 allow-access-from domain = "*"就可以了。 需要说明一下这个文件该怎么用,如果你的Flash在a.com下,你需要访问b.com的资源,那么把这个xml放在b.com的根目录就可以自动访问了,当然,你也可以访问其他目录的策略文件。
flash.system.Security.loadPolicyFile(URL:String);</div>    通过这个loadPolicyFile就可以主动去加载一个安全策略文件了,注意上面是AS3的写法,AS2不一样哦,参考上面的写法。 5、各个浏览器的跨域问题:     IE就不说了,这个基本没啥问题,包括Flash自己生成的Html就对IE的支持做的很好,这里就说说Chrome和FF的问题: 对于FLash,IE是认object标签的,但是FF和Chrome是认embed标签的,所以这个很重要,如果在调试的时候,发现firebug等工具提示"...... is not a Function",我们就要从以下地方查找原因:     1、addCallback是否成功注册     2、allowScriptAccess是否允许always,默认不允许     3、Flash是否完全加载完毕     一般来说,第三点是我们最容易遇到的,如果你的Flash没有加载完毕就去调用函数的话,是找不到这个函数的。     这里需要注意另外一个错误提示,就是"Error calling method on NPObject",如果出现这个错误,就要小心了:     1、安全策略问题,请参考上面所有的解决方案     2、自身函数错误 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Flash AS 入门 as自定义函数
  • Flash AS 入门 鼠标跟随的应用实现
  • Flash AS 入门到精通教程[图文]
  • flash as3.0中get与set的用法与案例代码
  • Flash AS3.0 制作老鹰飞动实例
  • Flash AS 制作创意的鼠标经过的网页导航
  • Flash AS3.0 实例教程 喷泉动画特效
  • Flash AS解决中文mp3乱码
  • Flash简单AS代码实现绚丽曲线视觉特效
  • Flash AS教程:文本类对象知识总结

相关文章

  • 2017-05-24Flash AS3.0教程:载入库中的影片剪辑制作成动画效果
  • 2017-05-24Flash新手鼠绘(4):鲜艳欲滴的樱桃
  • 2017-05-24Flash AS3教程:Direction类和Dot类
  • 2017-05-24Flash怎么使用引导层制作动画?
  • 2017-05-24Flash AS 入门 duplicateMovieClip和removeMovieClip应用
  • 2017-05-24Flash AS3教程 汉字转拼音
  • 2017-05-24Flash基础教程:学Flash的技巧
  • 2017-05-24ActionScript 3.0 性能优化小知识
  • 2017-05-24教你用Flash制作对联广告及关闭按钮方法
  • 2017-05-24Flash逐帧和补间制作小野人摇滚动画

文章分类

  • photoshop
  • Fireworks
  • CorelDraw
  • Illustrator
  • Painter
  • Freehand
  • Indesign
  • flash
  • maya
  • autocad
  • 3dmax

最近更新的内容

    • Flash新手鼠绘教程(2):熟悉鼠绘工具
    • FLASH 3D相册之利用BitmapData类制作
    • flash制作一份圣诞贺卡
    • flash导入音乐出错乐出现一个文件或多个文件无法导入怎能办?
    • flash动画制作:元件和元件的创建技巧介绍
    • flash cs5基础教程 时间轴的认识
    • FLASH怎么做文字渐变色效果?
    • Flash教程:trace()的使用
    • flash cs5怎么将鼠标做成牛的效果?
    • flash制作可爱的简单线条笑脸

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有