我有一个显示歌曲名称列表的脚本,当用户单击“收听”按钮时,文件名将传递给加载和播放 mp3 的 Flash 播放器。这适用于 Safari 和 IE,但不适用于 Mozilla。有谁知道围绕 Mozilla 和使用 Javascript 将变量传递给 flash 并在 flash 中调用函数的任何问题。
在我的头文件中,我有 -
<script type="text/javascript">
var flash;
window.onload = function() {
if(navigator.appName.indexOf("Microsoft") != -1) {
flash = window.flashObject;
}else {
flash = window.document.flashObject;
}
}
和
function PassFlash($preview_mp3){
if(navigator.appName.indexOf("Microsoft") != -1) {
window.flashObject.SetVariable("fileToPlay", $preview_mp3);
window.flashObject.updatePlayer();
}
else {
window.document.flashObject.SetVariable("fileToPlay", $preview_mp3);
window.document.flashObject.updatePlayer();
}
然后我像这样嵌入swf ...
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" name="flashObject" width="191" height="29" align="middle" id="flashObject">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="preview.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="preview.swf" quality="high" bgcolor="#ffffff" width="191" height="29" name="flashObject" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
swf 已在所有浏览器(主要浏览器)中成功加载,但在 Firefox 中似乎没有接收到 javascript 传递的变量或函数调用。
非常感谢您提供有关您自己的经验的任何提示或故事。
斯蒂芬