时间: 2021-07-31 作者:daque
在flash player 6或往日,运用loadvariables()、loadvariablesnum()、loadvars()、xml.load()等载入外部数据,是不不妨跨domain,即在domaina.com的flash不不妨载入在domainb.com的数据。但载入sub domain的数据是承诺,即放在www.luar.net、luar.net、foo.luar.net的flash都不妨载入在此3个各别的sub domain的数据。
flash player 7却带来了坏动静,它收紧了安定策略,载入sub domain的数据是不承诺,然而这只对运用了absolute path的flash有感化,比方loadvariablesnum("http://www.domaina.com/data.txt", 0),普遍web server都不妨设定短式网球址,比方http://domaina.com,即使flash经过短式网球址载入,那麽载入外部数据就会遭到感化。
flash 6本子的flash,在flash player 7播放会展示劝告词句,须要来访的客人确定能否承诺载入外部数据∶
图1 来访的客人安定
flash 7本子的flash,在flash player 7播放就痛快没有劝告词句,基础载入外部数据的举措仍旧被破坏了。
处置本领,创造一个名叫crossdomain.xml,放在外部数据的server的root,即http://www.domainb.com/crossdomain.xml。xml文献里,有一条龙∶
<allow-access-from domain=" />
你不妨自行介入承诺路途,比方∶
<allow-access-from domain="*" />
<allow-access-from domain="luar.net" />
<allow-access-from domain="www.luar.net" />
<allow-access-from domain="*.luar.net" />
经过介入crossdomain.xml,所以也带来一个好动静,flash player 7不妨载入跨domain的外部数据!不管是flash 6或7本子的flash,只有在flash player 7播放,domainb.com的server有crossdomain.xml这文献,内里有∶
<allow-access-from domain="*.domaina.com" /> 或
<allow-access-from domain="*" /> 承诺任何domain
在domaina.com的flash就不妨载入它的数据。
弥补
flash mx 2004 professional供给了data binding, web services组件,搜集上有不少免费公然的web services,然而由于flash player 7这安定策略,基础得物而无所用,真差错!(只有那些web services网站不妨介入crossdomain.xml)