我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 图型图像 > FLASH > SWF关于远程源和允许跨域数据加载
热门文章排行
热门文章排行 Photoshop制作精美的简历封面(10-12)
在Flash课件中正确调用SWF文件(11-25)
巧用Photoshop徒手绘制扇子(10-19)
CorelDRAW12循序渐进-制作文本效果(12-29)
消除文字勾边后产生毛刺的小技巧(06-14)
精采文章排行
精采文章排行 GIF动态图片的修改(11-07)
Q版人物绘制全过程(11-07)
Flash互动电子地图制作手册——入门(11-01)
Flash 8.0前瞻——揭开8 ball的薄面(10-24)
土人AS入门教程对象篇(10-24)
技术专题推荐
网管论坛交流
 

SWF关于远程源和允许跨域数据加载 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-11-25


-->
与 HTML 页面类似,SWF 文件是用于捕获和显示信息的窗口。然而,SWF 文件可以在浏览器中保持加载状态,同时用新信息持续更新而不必重新加载整个页面。使用动作脚本函数和方法,可以向服务器端脚本、文本文件以及 XML 文件发送信息,也可从它们那里接收信息。

  此外,服务器端脚本可从数据库中请求特定信息,然后将其转发给 SWF 文件。可用多种不同的语言撰写服务器端脚本:其中最常用的是 CFML、Perl、ASP (Microsoft Active Server Pages) 和 PHP。通过在数据库中存储信息和从其中检索信息。

  许多动作脚本函数和方法可用于将信息传入 SWF 文件和从 SWF 文件传出信息。每个函数或方法使用一个协议来传输信息,并要求信息以一定的方式格式化。

  Flash 文档可以使用以下数据加载调用之一从外部源加载数据:XML.load()、XML.sendAndLoad()、LoadVars.load()、LoadVars.sendAndLoad()、loadVariables()、loadVariablesNum()、MovieClip.loadVariables()、XMLSocket.connect() 和 Macromedia Flash Remoting (NetServices.createGatewayConnection)。

  另外,SWF 文件可以在运行时导入运行时共享库或另一个 SWF 文件中定义的资源。默认情况下,数据或 SWF 媒体(运行时共享库的情况)必须与加载该外部数据或媒体的 SWF 驻留在同一个域中。

  若要使运行时共享库中的数据和资源可用于其它域中的 SWF 文件,可以使用跨域策略文件。跨域策略文件是一个 XML 文件。

  当 Flash 文档试图访问另一个域中的数据时,Flash Player 自动尝试从该域加载策略文件。如果尝试访问数据的 Flash 文档所在的域包括在该策略文件中,则数据将自动成为可访问数据。

  策略文件必须具有名称 crossdomain.xml 并驻留在提供数据的服务器的根目录中。只有在通过 HTTP、HTTPS 或 FTP 进行通讯的服务器上,策略文件才起作用。策略文件特定于所在服务器的端口和协议。

  如果您指定了一个 IP 地址,则将只向使用 IP 语法从该 IP 地址(例如 http://65.57.83.12/flashmovie.swf)加载的 SWF 文件授予访问权限,而不向使用域名语法加载的那些 SWF 文件授予访问权限。Flash Player 不执行 DNS 解析。

  以下是一个策略文件的示例,假设该策略文件位于 scile.com 上,则来自 foo.com、 friendOfFoo.com、*.foo.com 和 105.216.0.40 上的 Flash 文档便可以访问scile.com上的数据:


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

  这样使得flash可以很方便的发送和加载外部数据了。对于数据的发送和加载我们一般采用LoadVars 类中的LoadVars.sendAndLoad()、XML 类中的XML.sendAndLoad()以及Macromedia Flash Remoting ,这之中Remoting 是需要额外安装软件支持的,所以在一般情况下使用LoadVars 类和XML 类会比较多一些,当然Remoting 也有自己的优点。

  LoadVars 类中的LoadVars.sendAndLoad()合适发送和接收少量简单数据,而XML 类中的XML.sendAndLoad()则合适发送和接收大量复杂数据。配合使用完全可以让flash做出交互数据库的全动态网站。

 





文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·消除文字勾边后产生毛刺的小技巧 · 解决COREDRAW9与双核CPU冲突的技巧 5
·CorelDRAW入门与进阶实例:8.2椭圆按钮制 ·CorelDRAW印前分色新手上路
·IllustratorCS制作刺绣效果 ·CorelDRAW使用技巧-如何在CorelDRAW中虚

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。