[英]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.