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