繁体   English   中英

屏幕上有我的Flash SWF吗?

[英]Is my Flash SWF on screen?

我希望我的Flash电影在屏幕上可见之前不播放,然后在屏幕外暂停播放。 有没有一种方法可以捕获一些事件,该事件指示swf正在呈现或可见,或者可以在我添加addListener的浏览器窗口的可见范围之内,以便知道它何时在视图中?

使用Flash的ExternalInterface调用一个JavaScript函数,该函数检查是否在屏幕外。 在javascript中,将JQuery与Viewport插件一起使用来确定我们是否不在屏幕上。 http://www.appelsiini.net/projects/viewport )。

我还没有测试过Viewport插件,但是我已经与使用它的人进行了交谈,并且对他们来说效果很好。

在as3中:

var returnValue:int = ExternalInterface.call("jsCheckerFunction");

if(returnValue == 1) // your flash is on-screen.

在javascript中:

function jsCheckerFunction()
{
    if($("#flashContent:in-viewport").length > 0) 
        return 1; // flash div visible
    return 0; // returns 0 if the element is offscreen  
}

您可以让它在每一帧上调用jsCheckerFunction来查看状态是否已更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM