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

关于flash跨域数据加载

发布时间:2020-12-15 18:36:46 所属栏目:百科 来源:网络整理
导读:Flash?文档可以使用以下数据加载调用之一从外部源加载数据:XML.load()、XML.sendAndLoad()、LoadVars.load()、LoadVars.sendAndLoad()、loadVariables()、loadVariablesNum()。另外,SWF?文件可以在运行时导入运行时共享库或另一个?SWF?文件中定义的资源。
Flash?文档可以使用以下数据加载调用之一从外部源加载数据:XML.load()、XML.sendAndLoad()、LoadVars.load()、LoadVars.sendAndLoad()、loadVariables()、loadVariablesNum()。另外,SWF?文件可以在运行时导入运行时共享库或另一个?SWF?文件中定义的资源。默认情况下,数据或?SWF?媒体(运行时共享库的情况)必须与加载该外部数据或媒体的?SWF?驻留在同一个域中。

若要使运行时共享库中的数据和资源可用于其它域中的?SWF?文件,请使用跨域策略文件。跨域策略文件是一个?XML?文件,该文件提供的方法可以使服务器指示其数据和文档可用于从某些域或所有域提供的?SWF?文件。服务器的策略文件指定的域所提供的所有?SWF?文件都将被允许访问该服务器中的数据或资源。
当?Flash?文档试图访问另一个域中的数据时,Flash?Player?自动尝试从该域加载策略文件。如果尝试访问数据的?Flash?文档所在的域包括在该策略文件中,则数据将自动成为可访问数据。
策略文件必须具有名称?crossdomain.xml?并驻留在提供数据的服务器的根目录中。只有在通过?HTTP、HTTPS?或?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?地址)或后接后缀的星号(只匹配那些以指定后缀结尾的域)表示。后缀必须以点开头。但是,带有后缀的通配符域可以匹配那些只包含后缀但不包含前导点的域。例如,foo.com?可以看作是?*.foo.com?的一部分。IP?域规范中不允许使用通配符。
如果您指定了一个?IP?地址,则将只向使用?IP?语法从该?IP?地址(例如?http://65.57.83.12/flashmovie.swf)加载的?SWF?文件授予访问权限,而不向使用域名语法加载的那些?SWF?文件授予访问权限。Flash?Player?不执行?DNS?解析。
以下是一个策略文件的示例,该策略文件允许从?foo.com?上的?Flash?文档访问来自?foo.com、friendOfFoo.com、*.foo.com?和?105.216.0.40?的?Flash?文档:
<?xml?version="1.0"?>
<!--?http://www.foo.com/crossdomain.xml?-->
<cross-domain-policy>
<allow-access-from?domain="www.friendOfFoo.com"?/>
<allow-access-from?domain="*.foo.com"?/>
<allow-access-from?domain="105.216.0.40"?/>
</cross-domain-policy>
不包含任何?<allow-access-from>?标签的策略文件等同于服务器上没有策略。
下面是允许所有域访问,也就是不受限制?http://****/crossdomain.xml
<allow-access-from?domain="*"?/>
注意:crossdomain.xml文件一定要放到站点根目录下面,domain的flash才可以访问你的数据

(编辑:李大同)

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

    推荐文章
      热点阅读