试图加载无边框YouTube的Flash AS3安全错误

时间:2011-07-21 19:15:43

标签: actionscript-3 youtube

尝试加载无边框的YouTube swf时出现闪存基础安全错误...

Warning: Domain www.youtube.com does not explicitly specify a meta-policy, but Content-Type of policy file http://www.youtube.com/crossdomain.xml is 'text/x-cross-domain-policy'.  Applying meta-policy 'by-content-type'.

Error: Request for resource at http://www.youtube.com/apiplayer?version=3 by requestor from http://... is denied due to lack of policy file permissions.

*** Security Sandbox Violation ***
Connection to http://www.youtube.com/apiplayer?version=3 halted - not permitted from http://...

我尝试过Security.loadPolicyFile和Security.allowDomain的所有相关变体,但我仍然会遇到这些错误。

如果我忽略这些跟踪错误(我没有得到Loader的回调错误)并尝试使用播放器(在Loader的Event.INIT期间通过loader.content),那么任何访问YouTube API的尝试都会导致崩溃。

如果我在调试器中查看我的播放器(Object)变量,我发现它实际上是一个从Sprite派生的com.goggle.youtube.application :: SwfProxy。在标准的Sprite变量和函数之外,它包含enableJsApi = false,loader = null和player =“http://s.ytimg.com/yt/swfbin/apiplayer3-vfljSpMoI.swf”

但尝试调用player.setSize或player.loadVideoByUrl等函数会导致崩溃,例如......

Exception thrown (TypeError: Error #1006: setSize is not a function.

请告知。

2 个答案:

答案 0 :(得分:2)

之前我曾使用过Chromeless播放器并遇到了这些错误。他们太令人沮丧了。可以忽略许多错误,因为YouTube仍未更新其默认策略文件。

当您尝试直接向小工具添加任何鼠标事件侦听器时,您将获得将导致运行时进程瘫痪的错误。我必须做的是添加鼠标交互性是在影片剪辑上方添加一个精灵,其中有一个洞,其中的徽标显示出来(以便有人仍然可以点击他们的徽标),然后将事件监听器添加到您自己的srite中。

希望这有帮助。

答案 1 :(得分:1)

最终有效删除错误的是指定... LoaderContext(false,new ApplicationDomain())