Flex控制网页中脚本代码

  通过使用以下 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() 方法

  Flex对于本地运行的 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='http://download.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' height='100%' width='100%'>

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

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

  <embed name='MyMovie.swf' pluginspage='http://www.adobe.com/go/getflashplayer_cn' src='MyMovie.swf' height='100%' width='100%' AllowScriptAccess='never'/>

  </object>

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值