时间: 2021-07-31 作者:daque
as代码2.0:对准flash 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或ftp)的站点的文献的考察。
由于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文献是对准flash 5或往日的播放器本子颁布的,对准flash 6或7播放器颁布被挪用的swf文献,增添system.security.allowdomain语句,运用透彻域名配合(如本节前方的代码所示)。(flash 5及往日的播放器本子不扶助当地贯穿东西。)