使用flash进行JS解析

JS parsing with flash

本文关键字:解析 JS 进行 flash 使用      更新时间:2023-10-25

hi,我是javascript新手,我的玩家名为player.swf,我从数据库中获取视频列表,如videos/dhoom3.flv,并将其从那里传递到js,然后再传递到flash,为此我使用了

 <script language="javascript" type="text/javascript">
function playFirstVid() // plays the first video when the page is loaded
{
sendToJavaScript("videos/dhoom3.flv");
}
function sendToJavaScript( id ) 
{
var  name = getMovieName("player");
alert(id);
getMovieName("player").sendToFlash( id );
}
function getMovieName(movieName) 
{ 
 if (navigator.appName.indexOf("Microsoft") != -1) 
{ 
 return window[movieName];
} 
else 
{ 
 return document[movieName];
} 
} 
</script>

首先,这是正确的方式吗?现在它没有在flash播放器中显示我的视频,因为它说sendToFlash功能丢失了,所以有人能告诉我下一步该怎么办吗?

正如Lukasz所指出的,如果类上不存在函数,则不能调用它。假设它是公共函数,则可以通过dot.notion.调用swf上的任何方法

mySWF.theFunctionName(myArguments);

根据您连接事件的方式(我建议使用统一的事件侦听器),只需将数字索引字符串发送到您的播放方法即可。

注意:以下不是使用统一侦听器,但与您的示例一致。

<script language="javascript" type="text/javascript">
var videosArr = ["videos/dhoom3.flv", "videos/dhoom2.flv", "videos/dhoom1.flv"];
function playFirstVid() {
    playVid(videosArr[0]);
}
function playVid(filename) {
    var player;
    if (navigator.appName.indexOf("Microsoft") != -1) {
        player = window[movieName];
    } else {
        player = document.getElementById("player");
    }
    try {
        player.sendToFlash(filename);
    } catch (err) {
        alert(err.message);
    }
}
</script>