1

我希望我的 Flash 电影在屏幕上可见之前不播放,然后在屏幕外暂停。有没有办法捕获一些事件,表明 swf 正在呈现或可见或在浏览器窗口的可见边界内,我可以添加EventListener,以便我知道它何时在视图内?

4

1 回答 1

0

使用 Flash 的 ExternalInterface 调用一个 javascript 函数来检查元素是否在屏幕外。在 javascript 中,使用带有 Viewport 插件的 JQuery 来确定我们是否在屏幕外。(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 以查看状态是否已更改。

于 2013-08-17T22:43:38.893 回答