快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

SWF关于远程源和答应跨域数据加载

  与 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"?> <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>

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

  LoadVars 类中的LoadVars.sendAndLoad()合适发送和接收少量简朴数据,而XML 类中的XML.sendAndLoad()则合适发送和接收大量复杂数据。配合使用完全可以让flash做出交互数据库的全动态网站。
返回类别: Flash教程
上一教程: Flash视频教程:手形工具
下一教程: Flash动态遮罩高级教程

您可以阅读与"SWF关于远程源和答应跨域数据加载"相关的教程:
· 同步加载多个外部swf代码整理
· FlashMX新特性详解(四)学习资源和软件集成性
· FLASH可以对数据进行保存
· 用DataGrid读入数据的几种方式
· Flash MX本地保存数据的二种方式
    微笑服务 优质保证 索取样品