是的,你可以在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'); }
這可惜的是並不爲我工作。 – 2014-03-05 20:45:38