怎样控制Flash的对外脚本访问
来源:中国艺术设计联盟作者:jenty发布时间:2005-01-01

Macromedia flash Player 带有一个 AllowScriptAccess 参数,它可以用来控制是否允许执行来自 swf 本身对外脚本。这个特性需要 flash Player 6.0.40.0 及其以上版本支持。

对外脚本通过使用特定的 FSCommand 或 getURL 命令来完成。

含有 flash 动画的网页可以在 HTML 代码中为 flash Player 设置参数(Internet Explorer 使用 PARAM 标记,而 Netscape Navigator 使用 EMBED 标记)。

AllowScriptAccess 参数可以有两个值: "always" 和 "never":


当 AllowScriptAccess 设置为 "never" 时,运行对外脚本会失败;
当 AllowScriptAccess 设置为 "always" 时,可以成功运行对外脚本;
如果没有定义这个参数的值,将会取默认值 "always".

注意:早期版本的播放器会忽略这个参数,通常会表现为 AllowScriptAccess 好像被设置为 "always" 一样。
使用 Object 标记的例子:

<PARAM NAME="AllowScriptAccess" VALUE="never">

使用 Embed 标记的例子:
<EMBED src="display.swf" AllowScriptAccess="never" ... (其他参数)> </EMBED>

为确保浏览器及平台兼容性,请同时使用以上两个标记(译者)。
AllowScriptAccess 能防止来自另一个域的 swf 文件访问本域内 HTML 网页中的脚本。
有关允许来自其他域的 swf 文件访问脚本的潜在安全问题,要获得完整信息,请参阅 Macromedia Flash Player 跨站安全问题(英文) 一文。

附加信息
要获得更多关于检测 Macromedia flash Player 的信息,请参阅 如何检测Flash Player是否存在(英文,TechNote编号:14526)。推荐的检测方法是使用 Macromedia flash Player 开发包,它允许你指定需要一个特定版本的 flash Player.
Macromedia 公司致力于确保 flash Player 的安全性,并且为了保护 flash Player 用户和 flash 内容网站的安全和隐私,作出了很大努力。如果需要获取更多信息,或向 Macromedia 报告问题,请参阅 Macromedia安全区。


本篇编辑:jenty