如何在Javascript代码中检测Flash影片何时获得焦点
How to detect when a Flash movie gets focus in Javascript code?
是否可以创建这样的事件?如果是,怎么做?
flash影片的标记类似于next。无需更改flash影片的ActionScript代码。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="32" height="32">
<param name="movie" value="file://test.swf">
<param name="quality" value="high">
<embed src="file://test.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="32" height="32">
</embed>
</object>
是的,你可以在JavaScript中这样做。
首先,使用swfobject来处理跨浏览器的Flash问题是个好主意。这是一个控制SWF对象的JavaScript库。你可以在这里下载:https://code.google.com/p/swfobject/downloads/list
基本例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject - low level dynamic publishing example</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
if (swfobject.hasFlashPlayerVersion("6.0.0")) {
var fn = function() {
var att = { data:"test.swf", width:"780", height:"400" };
var par = { flashvars:"foo=bar" };
var id = "replaceMe";
var myObject = swfobject.createSWF(att, par, id);
};
swfobject.addDomLoadEvent(fn);
}
</script>
</head>
<body>
<div id="replaceMe">Alternative content</div>
</body>
</html>
接下来,在att变量中添加一个id,像这样展开示例:
var att = { data:"test.swf", width:"780", height:"400", id:"myId" };
您可以使用getElementById()
或jQuery选择器$("#myId")
访问对象
然后像这样将事件附加到焦点上:
JQuery(推荐):
$('#myId').focus(function() {
alert('SWF is in focus');
});
或
标准:object.onfocus=function(){ alert('SWF is in focus'); }
您可以将播放器放置在div中,并使用javascript选择该div。这里也有更多的信息:https://github.com/englandrp/Cross-browser-Flash-tabbing-and-focus-solution
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 单击时将焦点更改为元素
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在IE9中的输入字段中输入焦点最近按钮
- Javascript游戏输入失去焦点
- ExtJS网格单元格编辑器,防止焦点松动问题
- 检查元素是如何获得焦点的
- angularjs移除焦点上的活动类并添加到下一个项目
- 浏览器何时记录历史记录
- Don'不允许将焦点集中在自动完成的选择上
- 如何知道Chrome窗口何时具有焦点(并且文档中有一个插件)
- requestAnimationFrame - 告诉浏览器何时失去焦点
- 确定焦点何时出现在元素外部
- 使用纯JS或jQuery通过Alt Tab检测浏览器页面窗口何时失去焦点
- 检测元素外的子对象何时获得焦点
- 如何检测文本区域何时失去焦点,并在单击特定元素时保持它不失去焦点?
- Angular指令重获焦点
- 如何确定一个HTML元素何时在Android WebView中获得焦点
- 如何在Javascript代码中检测Flash影片何时获得焦点
- 如何确定焦点何时离开HTML表单(即窗体的子窗体不再有焦点)