加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

允许Flash跨域加载数据

发布时间:2020-12-15 18:21:22 所属栏目:百科 来源:网络整理
导读:允许 Flash 跨域加载数据 Flash? 文档可通过使用以下某种数据加载调用方法从外部源加载数据: XML.load() 、 XML.sendAndLoad() 、 LoadVars.load() 、 LoadVars.sendAndLoad() 、 loadVariables() 、 loadVariablesNum() 、 MovieClip.loadVariables() 、 X

允许Flash跨域加载数据

Flash?文档可通过使用以下某种数据加载调用方法从外部源加载数据:XML.load()XML.sendAndLoad()LoadVars.load()LoadVars.sendAndLoad()loadVariables()loadVariablesNum()MovieClip.loadVariables()XMLSocket.connect()?和?Macromedia?Flash?Remoting?(NetServices.createGatewayConnection)。另外,SWF?文件可以在运行时导入运行时共享库?(RSL)?或另一个?SWF?文件中定义的资源。默认情况下,数据或?RSL?必须与加载该外部数据或媒体的?SWF?文件驻留在同一个域中。

若要使运行时共享库中的数据和资源可用于其它域中的?SWF?文件,应使用跨域策略文件。跨域策略文件是一个?XML?文件,该文件提供的方法可以使服务器指示其数据和文档可用于从某些域或所有域提供的?SWF?文件。服务器的策略文件指定的域所提供的所有?SWF?文件都将被允许访问该服务器中的数据、资源或?RSL如果您加载外部数据,即使不想将任何文件移植到?Flash?Player?7?中,也应创建策略文件。如果您使用?RSL,并且调用或被调用文件是以?Flash?Player?7?为目标播放器发布的,则应创建策略文件。

允许跨域数据加载当?Flash?文档试图访问另一个域中的数据时,Flash?Player?将自动试图从该域加载策略文件。如果试图访问数据的?Flash?文档所在的域包括在该策略文件中,则数据将自动成为可访问数据。策略文件必须命名为?crossdomain.xml,并且可以驻留在服务器的根目录和其它目录之中,该服务器提供具有其它?ActionScript?的数据。只有在通过?HTTPHTTPS?或?FTP?进行通信的服务器上,策略文件才起作用。策略文件特定于它所驻留的服务器的端口和协议。例如,位于?https://www.macromedia.com:8080/crossdomain.xml?的策略文件只适用于在端口?8080?通过?HTTPS?对?www.macromedia.com?进行的数据加载调用。此规则的例外情况是,使用?XMLSocket?对象连接到另一个域中的套接字服务器。如果是这种情况,运行于与套接字服务器所在的同一个域中端口?80?上的?HTTP?服务器必须提供该方法调用的策略文件。XML?策略文件包含单个?<cross-domain-policy>?标签,该标签又包含零个或多个?<allow-access-from>?标签。每个?<allow-access-from>?标签包含一个属性?domain,该属性指定一个确切的?IP?地址、一个确切的域或一个通配符域(任何域)。通配符域由单个星号?(*)(匹配所有域和所有?IP?地址)或后接后缀的星号(只匹配那些以指定后缀结尾的域)表示。后缀必须以点开头。但是,带有后缀的通配符域可以匹配那些只包含后缀但不包含前导点的域。例如,cenfun.com?可以看作是?*.cenfun.com?的一部分。IP?域规范中不允许使用通配符。如果您指定了一个?IP?地址,则将只向使用?IP?语法从该?IP?地址(例如?http://65.57.83.12/flashmovie.swf)加载的?SWF?文件授予访问权限,而不向使用域名语法加载的?SWF?文件授予访问权限。Flash?Player?不执行?DNS?解析。下面的示例显示一个策略文件,该策略文件允许从?cenfun.com?上的?Flash?文档访问来自?cenfun.comwww.friendOfcenfun.com*.cenfun.com?和?105.216.0.40?的?Flash?文档:

<?xml?version="1.0"?><!--?http://www.cenfun.com/crossdomain.xml?--><cross-domain-policy><allow-access-from?domain="www.friendOfcenfun.com"?/><allow-access-from?domain="*.cenfun.com"?/><allow-access-from?domain="105.216.0.40"?/></cross-domain-policy>

您也可以允许访问来自任何域的文档,如下面的示例所示:(http://www.cenfun.com/crossdomain.xml?)

<?xml?version="1.0"?><!--?http://www.cenfun.com/crossdomain.xml?--><cross-domain-policy><allow-access-from?domain="*"?/></cross-domain-policy>每个?<allow-access-from>?标签还具有可选的?secure?属性。secure?属性默认为?true。如果您的策略文件在?HTTPS?服务器上,并且要允许?HTTP?服务器上的?SWF?文件从?HTTPS?服务器加载数据,则可以将此属性设置为?false将?secure?属性设置为?false?可能会危及?HTTPS?提供的安全性。如果您正在下载来自?HTTPS?服务器的?SWF?文件,而加载它的?SWF?文件在?HTTP?服务器上,则您需要为?<allow-access-from>?标签添加?secure="false"?属性,如下面的代码所示:<allow-access-from?domain="www.cenfun.com"?secure="false"?/>不包含任何?<allow-access-from>?标签的策略文件相当于服务器上没有策略。

注:转载自http://www.blogjava.net/huamengxing/archive/2008/02/28/182691.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读