Flash ActionScript 3 运行时安全错误
Posted
技术标签:
【中文标题】Flash ActionScript 3 运行时安全错误【英文标题】:Flash ActionScript 3 runtime SecurityError 【发布时间】:2011-02-04 21:05:28 【问题描述】:我有加载 swf 的 swf,它加载另一个 swf(视频播放器)。
发布设置有技巧吗?在我的本地机器上一切正常,当我在服务器上上传它时发生错误并且视频不加载
SecurityError:错误 #2148:SWF 文件 http://(站点所在的 URL 托管)/video.swf 无法访问本地 资源 文件:///Macintosh%20HD/Users/..flash.flv。 仅本地文件系统且受信任 本地 SWF 文件可以访问本地 资源。在 flash.net::NetStream/play() 在 fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::_play() 在 fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::_setUpStream() 在 fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::_load() 在 fl.video::VideoPlayer/load() 在 fl.video::FLVPlayback/doContentPathConnect()
【问题讨论】:
这肯定不是完整的错误,是吗? 不,我不确定是否相关,但现在就在这里。 当您尝试访问 flv/video 播放器或保存它的 swf(由包含视频播放器的主 swf 加载的 swf)时是否会引发错误?不管怎样,这里有一个快速清单,以防您从另一个域访问内容,也许它会有所帮助:1.您有一个 crossdomain.xml 设置 2.如果您使用的是 flash ide,则您有“仅访问网络”用于本地播放发布设置中 Flash 选项卡下的安全性。 3. 如果您已经完成了上述设置,请检查您的加载程序是否有一个 LoaderContext 对象,其中 checkPolicyFile 设置为 true。 HTH flv/video 播放器有问题。我检查了发布设置,但没有任何效果。 【参考方案1】:这里有几件事。记住您的安全策略文档和 SWF 发布设置。我希望这些资源有所帮助。
跨域策略“仅使用主服务器”
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>
您的 SWF 发布设置alt text http://ashcraftband.com/myspace/videodnd/network.jpg
参考http://www.adobe.com/devnet/flashplayer/articles/fplayer9-10_security.htmlhttp://jodieorourke.com/view.php?id=108&blog=news
【讨论】:
【参考方案2】:您可能需要设置一个 crossdomain.xml 以允许一个 SWF 在生产环境中访问另一个。
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html
【讨论】:
以上是关于Flash ActionScript 3 运行时安全错误的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3:在 Flash embed 中失去焦点时保持 textarea UIscrollbar 位置
Flash Actionscript 3 错误?在 switch/case 中使用 int 和负数
ActionScript 3 Actionscript 3 / Flash中的半色调效果
ActionScript 3 使用Flash / Actionscript 3进行3D翻转效果