Actionscript 3 安全沙盒违规Flash AS3
我正试图通过我的flash项目播放Youtube视频。视频播放,但我得到下面的错误,它破坏了我的项目的其余部分。我找不到任何地方有这个确切的错误。我一直在试图理解它告诉我什么,但我就是无法理解它。 错误: 以下是我为玩家准备的代码:Actionscript 3 安全沙盒违规Flash AS3,actionscript-3,flash,youtube,youtube-api,Actionscript 3,Flash,Youtube,Youtube Api,我正试图通过我的flash项目播放Youtube视频。视频播放,但我得到下面的错误,它破坏了我的项目的其余部分。我找不到任何地方有这个确切的错误。我一直在试图理解它告诉我什么,但我就是无法理解它。 错误: 以下是我为玩家准备的代码: Security.allowDomain("www.youtube.com"); var my_player:Object; var my_loader:Loader = new Loader(); my_loader.load(new URLRequest("
Security.allowDomain("www.youtube.com");
var my_player:Object;
var my_loader:Loader = new Loader();
my_loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
my_loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
function onLoaderInit(e:Event):void{
addChild(my_loader);
my_player = my_loader.content;
my_player.addEventListener("onReady", onPlayerReady);
}
function onPlayerReady(e:Event):void{
my_player.setSize(600,300);
my_player.cueVideoById("76BboyrEl48",0);
my_player.x = stage.stageWidth/2 - my_player.width/2;
my_player.y = stage.stageHeight/2 - my_player.height/2;
}
这是我大学最后一年项目的一部分,所以如果有人有任何想法,我非常乐意尝试一下。提前感谢:)出于安全考虑,FlashPlayer将本地和远程(网络)两个沙盒分开。当您只允许使用其中一个时,您不能同时从两个站点加载内容。从本地文件系统加载的每个swf都在本地沙箱中考虑,其他所有东西都在网络沙箱中考虑 因此,现在您的swf是从文件系统而不是从web服务器加载的,flash将其放在本地沙箱中,然后您的swf从远程/网络沙箱加载内容,即从www.youtube.com加载内容,正如我前面提到的,本地沙盒中运行的swf无法从远程沙盒加载内容,远程沙盒中的swf也无法从本地沙盒加载内容。所以错误是自然的
allowDomain()
只允许来自同一沙箱的不同域,即您可以将内容从www.youtube.com加载到从www.yourdomain.com加载的swf中
有关安全沙盒的更多信息,请参见:
现在要解决您的问题:
1) 您可以从本地主机设置本地HTTP服务器locad swf
2) 或者您可以将您的swf放入本地受信任的swf列表中。只允许本地受信任的swf同时从两个沙盒加载内容。有关如何将swf放入本地受信任列表的信息,请参阅下面的链接
出于安全原因,FlashPlayer将本地和远程(网络)两个沙盒分开。当您只允许使用其中一个时,您不能同时从两个站点加载内容。从本地文件系统加载的每个swf都在本地沙箱中考虑,其他所有东西都在网络沙箱中考虑 因此,现在您的swf是从文件系统而不是从web服务器加载的,flash将其放在本地沙箱中,然后您的swf从远程/网络沙箱加载内容,即从www.youtube.com加载内容,正如我前面提到的,本地沙盒中运行的swf无法从远程沙盒加载内容,远程沙盒中的swf也无法从本地沙盒加载内容。所以错误是自然的
allowDomain()
只允许来自同一沙箱的不同域,即您可以将内容从www.youtube.com加载到从www.yourdomain.com加载的swf中
有关安全沙盒的更多信息,请参见:
现在要解决您的问题:
1) 您可以从本地主机设置本地HTTP服务器locad swf
2) 或者您可以将您的swf放入本地受信任的swf列表中。只允许本地受信任的swf同时从两个沙盒加载内容。有关如何将swf放入本地受信任列表的信息,请参阅下面的链接
尝试在项目中包含一个跨域.xml文件,如下图所示
<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
有关安全性沙盒的更多信息,请参阅:尝试在项目中包含一个类似下面所示的跨域.xml文件
<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
有关安全性沙箱的更多信息,请参阅:您看过这些问题吗:,,您看过这些问题吗:,