【问题标题】:Flash AS3 Security Sandbox Violation / s.ytimg.comFlash AS3 安全沙盒违规 / s.ytimg.com
【发布时间】:2014-05-02 21:34:11
【问题描述】:

我这几天一直在阅读这个问题,我快疯了。请帮忙!

我试图将 YouTube 视频加载到我的投资组合中,但这是徒劳的。我已经在 Youtube 上上传了视频,它是公开的。 我已经用一堆其他 Youtube 视频尝试了代码,除了我的之外,它都可以完美地与它们一起工作...... 就像我说我要疯了!!!请帮忙!!

* 违反安全沙盒 * SecurityDomain 'http://s.ytimg.com/crossdomain.xml' 试图访问不兼容的上下文 'file:///M|/Architecture/PORTFOLIO/WEB/PORTFOLIO.swf'

这是上下文中的部分代码:

import flash.display.Loader;
import flash.net.URLRequest;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.events.MouseEvent;
import flash.display.MovieClip;
import fl.controls.ProgressBar;
import fl.controls.ProgressBar;
import fl.transitions.TweenEvent;
import flash.events.Event;
import fl.controls.ProgressBar;
import flash.ui.MouseCursor;
import flash.system.Security;

pages.visible = false;
pages.fullPage.alpha = 0;
var my_images:XMLList;
var my_total:Number;

var page_no:Number = 1;
pages.pb.alpha = 0;

pages.btnBallon.visible = false;
pages.btnBallon.removeEventListener(MouseEvent.CLICK, lVid);
pages.btnBallon.buttonMode = false;

//Youtube loader

Security.allowDomain("*");
Security.allowDomain("www.youtube.com");
Security.allowDomain("youtube.com");
Security.allowDomain("s.ytimg.com");
Security.allowDomain("i1.ytimg.com");
Security.allowDomain("i.ytimg.com");
Security.allowDomain("http://s.ytimg.com/crossdomain.xml");
Security.allowDomain("popslinger.org");
Security.allowDomain("http://www.box.net/api/crossdomain.xml");

Security.loadPolicyFile("http://i.ytimg.com/crossdomain.xml");
Security.loadPolicyFile("http://www.youtube.com/crossdomain.xml");
Security.loadPolicyFile("http://s.ytimg.com/crossdomain.xml");
Security.loadPolicyFile('http://youtube.com/crossdomain.xml');
Security.loadPolicyFile("http://www.box.net/api/crossdomain.xml");



function video():void{
pages.btnBallon.visible = true;
pages.btnBallon.addEventListener(MouseEvent.CLICK, lVid);
pages.btnBallon.buttonMode = true;
}

function lVid(e:Event = null):void{

loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));

loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
}

function onInit(e:Event):void{
addChild(loader);
player = loader.content;
player.addEventListener("onReady",onPlayerReady);
}

function onPlayerReady(e:Event):void{
var pageTween:Tween = new Tween(pages.fullPage, "alpha",     Strong.easeOut,pages.fullPage.alpha, 0, 1, true);
player.setSize = (560,315);
player.x = pages.x + 120;
player.y = pages.y;
pages.visible = false;
pages.btnBallon.visible = false;
pages.btnBallon.removeEventListener(MouseEvent.CLICK, lVid);
pages.btnBallon.buttonMode = false;
/*pages.btnNext.removeEventListener(MouseEvent.CLICK, nextPage);
pages.btnNext.visible = false;
pages.btnPrev.removeEventListener(MouseEvent.CLICK, nextPage);
pages.btnPrev.visible = false;*/
player.loadVideoByUrl("www.youtube.com/embed/omcl93EYTrM",0);
//player.loadVideoById("omcl93EYTrM",0);    

}

【问题讨论】:

  • 你在编译到网页吗??
  • 如果我发布到 SWF 并限制对本地的访问,只有视频除外,如果我将其切换为 HTML 并将其设置为网络,则不会加载任何内容。你想我什么时候发布它域并将访问权限设置为只有它才能工作?

标签: actionscript-3 flash youtube youtube-api youtube-data-api


【解决方案1】:

尝试更改此值:

文件 -> 发布设置

【讨论】:

  • 嗨,是的,我做到了...如果我发布到 SWF 并限制对本地的访问,只有视频以外的所有内容都可以工作,如果我将其切换为 HTML 并将其设置为网络,则没有任何负载(有趣的部分是不是如果我在 youtube 上选择其他随机视频,它就可以完美运行.. 你认为当我将它发布到域上并只访问网络时它会起作用吗?
  • 当您在域上发布所有作品时,如果您仍然遇到问题,您可以将相对引用更改为绝对引用,即将 /yourFolder/yourFile.ext 更改为 http : //domain/yourFolder/你的文件.ext。该选项将对所有路径使用变量前缀。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多