网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网管学堂 > 网页设计 > Flash > Action > AS代码2.0:针对Flash Player7  

AS代码2.0:针对Flash Player7

2006-04-20  作者:BitsCN.com整理  来源:中国网管联盟  点评 投稿 收藏

二、设置和本地数据的域名规则在Flash 6播放器中,当访问本地设置(如摄像机或麦克风访问许可)或本地永久数据(共享对象)时,默认使用超域匹配规则。也就是说,存放在here.xyz.com、there.xyz.com和xyz.com的SWF文件的设置和数据是共享的,且都存储在xyz.com中。 网管u家u.bitscn@com

    在Flash 7播放器中,默认使用精确域匹配规则。也就是说,存放在here.xyz.com的文件的设置和数据存储在here.xyz.com中,存放在there.xyz.com的文件的设置和数据存储在there.xyz.com中,等等。

网管u家www.bitscn.net

    新的属性System.exactSettings让你指定使用哪种规则。这个属性支持针对在Flash 6或更高版本播放器发布的文件。对于针对Flash 6播放器发布的文件,本属性的默认值是false,这意味着使用超域匹配规则。对于针对Flash 7播放器发布的文件,本属性的默认值是true,这意味着使用精确域匹配规则。

网管网www.bitscn.com

    如果你使用设置和永久本地数据,且想要针对Flash 7播放器发布一个Flash 6播放器的SWF文件,你可能需要在发布的文件中把本属性值设置为false. 网管u家bitscn.net

    三、SWF文件之间的跨域和子域访问

网管网www_bitscn_com

    当你开发一系列互相通讯的SWF文件时,例如,当使用loadMovie()、MovieClip.loadMovie()、 MovieClipLoader.LoadClip()命令或本地连接对象时,你可能把这些动画文件存放在不同的域或一个超域的不同的子域中。

网管u家u.bitscn@com

    在针对Flash 5或更早版本的播放器发布的文件中,跨域或子域访问不受限制。 网管u家www.bitscn.net

    在针对Flash 6播放器发布的文件中,你可以使用LocalConnection.allowDomain事件处理函数或System.security.allowDomain()方法来指定允许跨域访问(例如,让在someOtherSite.com域的文件访问在someSite.com域的文件),且无需用命令来允许子域访问(例如,在store.someSite.com子域的文件可以访问在www.someSite.com子域的文件)。

网管联盟bitsCN_com

    在针对Flash 7播放器发布的文件中,SWF文件之间的访问与早期版本有两个方面的不同。首先,Flash 7播放器执行精确域匹配而不是超域匹配规则。因此,被访问的文件(即使是针对早期的Flash播放器版本而不是Flash 7播放器发布的文件)必须显式指定允许跨域或子域访问。其次,存放在使用安全协议(HTTPS)站点中的文件,必须显式指定允许来自使用不安全协议(HTTP或FTP)的站点的文件的访问。 网管联盟bitsCN@com

    因为Flash 7播放器执行精确域匹配而不是超域匹配规则,如果你想要针对Flash 7播放器发布的文件能够访问你现有的脚本,你可能需要修改这些脚本。(你仍然可以针对Flash 6播放器发布修改过的文件。)

网管联盟bitsCN_com

    如果你在文件中使用LocalConnection.allowDomain()或System.security.allowDomain()语句,并指定允许访问超域站点,你必须修改你的参数来指定准确的域。下面的代码说明你可能需要进行的修改: 网管网www.bitscn.com

    // 允许存放在www.someSite.com或store.someSite.com域的SWF文件访问System.security.allowDomain("someSite.com");// 存放在www.anyOldSite.com域的SWF文件中的Flash 6播放器命令my_lc.allowDomain = function(sendingDomain){ return(sendingDomain=="someSite.com");} // 允许针对Flash 7播放器发布的SWF文件访问的对应命令System.security.allowDomain("www.someSite.com", "store.someSite.com");my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="www.someSite.com" || sendingDomain=="store.someSite.com");} 网管联盟bitsCN@com

    如果你当前还没有使用这些语句,你也可能需要添加这样的语句。

中国网管论坛bbs.bitsCN.com

    例如,如果你的SWF文件存放在www.someSite.com域,且你想允许存放在store.someSite.com域针对Flash 7播放器发布的SWF文件访问,你必须给存放在www.someSite.com域的文件添加下列语句(你仍然可以针对Flash 6播放器发布存放在www.someSite.com的文件): 网管论坛bbs_bitsCN_com

    System.security.allowDomain("store.someSite.com");my_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="store.someSite.com");} 网管下载dl.bitscn.com

    总的来说,如果你针对Flash 7播放器发布文件且符合以下条件,你可能要修改你的文件,添加或修改allowDomain语句: 网管联盟bitsCN_com

    ①你编写跨SWF文件的脚本使用loadMovie()、MovieClip.loadMovie()、MovieClipLoader.LoadClip()或本地连接对象。 网管网www.bitscn.com

    ②被调用的SWF文件(任何版本)不是存放在使用安全协议(HTTPS)的站点,或调用的和被调用的SWF文件都存放在使用安全协议(HTTPS)的站点。 网管u家www.bitscn.net

    ③SWF文件不在相同的域例如,一个文件在www.domain.com,另一个在store.domain.com.

网管有家www.bitscn.net

    为此你需要做以下修改:

中国网管论坛bbs.bitsCN.com

    ①如果被调用的SWF文件是针对Flash 7播放器发布的,在被调用的SWF文件中包含System.security.allowDomain或LocalConnection.allowDomain语句,使用精确域名匹配。

网管下载dl.bitscn.com

    ②如果被调用的SWF文件是针对Flash 6播放器发布的,修改被调用的SWF文件,添加或修改System.security.allowDomain或LocalConnection.allowDomain语句,使用精确域名匹配(如本节前面的代码所示)。你可以针对Flash 6或7播放器发布修改过的文件。 中国网管联盟bitsCN.com

    ③如果被调用的SWF文件是针对Flash 5或以前的播放器版本发布的,针对Flash 6或7播放器发布被调用的SWF文件,添加System.security.allowDomain语句,使用精确域名匹配(如本节前面的代码所示)。(Flash 5及以前的播放器版本不支持本地连接对象。)

网管朋友网www_bitscn_net

TAGs   针对   代码   文件   Flash   播放器   发布   SWF   使用   调用   如果      
 上一篇:AS代码2.0:面向对象模型   下一篇:RGB颜色action自定义教程 — 色光叠加篇
AS代码2.0:针对Flash Player7 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: