当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash 动作脚本之:了解Action Script2.0 (4)

Flash动画制作
Flash实例教程:制作圣诞节祝福贺卡
Flash相册图片加载完毕等比缩放的类
Flash as教程:逼真的瀑布特效动画
Flash CS4入门教程:给任意照片添加雪景动画
Flash入门实例:新年快乐镜面跳动字动画
Flash新手鼠绘(4):鲜艳欲滴的樱桃
Flash新手鼠绘(5):梅花花瓣的制作
Flash 制作晃动光线文字特效
flash中影片剪辑的排列顺序控制和拖拽效果
利用AS脚本功能实现图片模糊变清晰
Flash动画制作实例:单个背景循环移动动画
Flash动画技巧:绘制小鸡的动画效果
Flash实例教程:制作蒸汽烟雾飘飘动画
Flash实例教程:制作庆祝春节的烟花动画
Flash技巧:羽化遮罩制作好看图片切换动画
Flash简单制作星球大战文字动画特效
Flash技巧:运用图层简单实现传统数字动画效果
Flash CS3教程:将工程转换到视频格式

Flash动画制作 中的 Flash 动作脚本之:了解Action Script2.0 (4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 65 ::
收藏到网摘: n/a

AS代码2.0:针对 Player 7(2)

    

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

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

  在针对Flash 5或更早版本的播放器发布的文件中,跨域或子域访问不受限制。

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

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

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

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

  // 允许存放在www.someSite.com或store.someSite.com域的SWF文件访问
// 存放在www.anyOldSite.com域的SWF文件中的Flash 6播放器命令
System.security.allowDomain("someSite.com");
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");
}

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

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

  System.security.allowDomain("store.someSite.com");
  my_lc.allowDomain = function(sendingDomain) {
      return(sendingDomain=="store.someSite.com");
  }

    

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

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

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

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

  为此你需要做以下修改:

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

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

  ③如果被调用的SWF文