如何在托管Flash的网站被阻止时显示静态图像

时间:2009-12-29 11:23:39

标签: flash

我正在尝试在网页中加载YouTube视频。不是太难,而且工作正常。

<object width="600" height="362"> 
<param name="movie" value="http://www.youtube.com/v/etc"></param> 
<param name="allowFullScreen" value="true"></param> 
<embed src="http://www.youtube.com/v/etc" type="application/x-shockwave-flash"
width="600" height="362" 
allowfullscreen="true">
</embed> 
</object> 

如果不存在或禁用Flash,则没有问题 - 它只显示嵌入中间的内容。

但如果youtube被阻止(在防火墙或/ etc / hosts指向错误的IP),我什么都没得到。

有人知道在这种情况下展示某种东西的方法吗?例如图像(或任何html)。

[编辑]我想我应该补充一点:我无法访问Flash,所以我无法制作新的SWF并嵌入它(对不起,乔治,这个想法看起来不错,但我没有工具)。< / p>

我需要在客户端上使用HTML和Javascript进行操作。 TA

由于

1 个答案:

答案 0 :(得分:0)

您是否可以尝试加载视频并侦听HTTPStatus事件,出现安全错误,任何可能让您知道视频无法正常工作的内容,如果是,则显示替代内容?

var ytLoader:Loader = new Loader();
ytLoader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, ytHTTPStatus);
ytLoader.load(new URLRequest('http://www.youtube.com/v/kDKiQfBs9lo'));

function ytHTTPStatus(event:HTTPStatusEvent):void {
    if(event.status != 200) trace('display alternate content');
}

如果您只能通过Javascript访问内容,我建议您查看YouTubePlayer API

我猜测如果显示视频有任何问题,如果您尝试访问视频中的任何数据,则应该可以看到:

HTH