|
在flash Player 6或以前,利用loadVariables()、loadVariablesNum()、LoadVars()、XML.load()等载入外部数据,是不可以跨Domain,即在domainA.com的flash不可以载入在domainB.com的数据(需要通过 Middleware作中间人)。但载入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播放会出现警告字句,需要访客决定是否准许载入外部数据∶
解决方法,制作一个名叫crossdomain.xml,放在外部数据的Server的root,即http://www.domainB.com/crossdomain.xml。XML文件里,有一行∶ <allow-access-from domain="" /> 你可以自行加入容许路径,例如∶ <allow-access-from domain="*" /> 通过加入crossdomain.xml,因此也带来一个好消息,flash Player 7可以载入跨Domain的外部数据!无论是flash 6或7版本的flash,只要在flash Player 7播放,domainB.com的Server有crossdomain.xml这文件,里面有∶ <allow-access-from domain="*.domainA.com" /> 或 在domainA.com的flash就可以载入它的数据。 补充 原文
|






