找了很久的問題
目前的Firefox是否可以從網頁的JS中控制Flash的播放?
如果可以的話,又有什麼特別需要注意的地方?
以下是我用來控制Flash的JS
是用Dreamweaver自動產生的
---swf部分---
引言回覆:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="music" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="130" height="127">
<param name="movie" value="路徑/檔名">
<param name="quality" value="high">
<embed src="路徑/檔名" name="music" width="130" height="127" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" swliveconnect="true"></embed></object>
根據之前找到的資料,Dreamweaver會自動給object產生name和id兩個屬性
但是要在Netscape中用JS控制的話object不能有name這個屬性,所以我就給他拿掉了。
---定義function用的JS部分---
引言回覆:
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_controlShockwave(objStr,x,cmdName,frameNum) { //v3.0
var obj=MM_findObj(objStr);
if (obj) eval('obj.'+cmdName+'('+((cmdName=='GotoFrame')?frameNum:'')+')');
}
---控制用的JS部分---
引言回覆:
onMouseOver="MM_controlShockwave('0','','Play')
上面這個東西在IE裡面是可以動作的