Chinaunix首页 | 论坛 | 博客
  • 博客访问: 75063
  • 博文数量: 48
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-30 14:22
文章分类

全部博文(48)

文章存档

2014年(47)

2013年(1)

我的朋友

分类: Android平台

2014-02-10 13:04:58

  通过使用以下 ActionScript 3.0 API 可实现Flex外出脚本访问:

  flash.system.fscommand() 函数

  flash.net.navigateToURL() 函数(当指定 navigateToURL("javascript: alert('Hello from Flash Player.')" 等脚本访问语句时)

  flash.net.navigateToURL() 函数(当 window 参数设置为“_top”“_self”“_parent”)

  ExternalInterface.call() 方法

  对于本地运行的 SWF 文件,仅当 SWF 文件和包含该文件的网页(如果存在)位于受信任的本地安全沙箱中时,才能成功调用这些方法。如果内容位于只能与远程内容交互的沙箱或只能与本地文件系统内容交互的沙箱中,则对这些方法的调用将失败。

  HTML代码中用于加载文件的 AllowScriptAccess 参数控制能否从 SWF 文件内执行外出脚本访问。

  在HTML代码中为承载 SWF文件的网页设置此参数。可以在 PARAM 或 EMBED 标签中进行设置。

  AllowScriptAccess 参数可以有 "always""sameDomain" 和 "never" 这三个可能值中的一个:

  当 AllowScriptAccess “sameDomain”时,仅当SWF文件和网页位于同一域中时才允许执行外出脚本访问。这是 AVM2 内容的默认值。

  当 AllowScriptAccess “never”时,外出脚本访问将始终失败。

  当 AllowScriptAccess “always”时,外出脚本访问将始终成功。

  如果未在 HTML 页面中为 SWF 文件指定 AllowScriptAccess 参数,则默认为 AVM2 内容的“sameDomain”

  下面是一个在Flex HTML 页面中设置 AllowScriptAccess 标签的示例:

  <object id='MyMovie.swf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='' height='100%' width='100%'>

  <param name='AllowScriptAccess' value='never'/>

  <param name='src' value=''MyMovie.swf'/>

  <embed name='MyMovie.swf' pluginspage='' src='MyMovie.swf' height='100%' width='100%' AllowScriptAccess='never'/>

  </object>

  AllowScriptAccess 参数可以防止从一个域中承载的 SWF 文件访问来自另一个域的 HTML页面中的脚本。对从另一个域承载的所有 SWF 文件使用AllowScriptAccess="never" 可以确保位于HTML页面中的脚本的安全性。

阅读(278) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~