Javascript 用flash解析JS
嗨,我是javascript新手,我有播放器名Javascript 用flash解析JS,javascript,php,actionscript-3,flash,Javascript,Php,Actionscript 3,Flash,嗨,我是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
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>
函数playFirstVid()//加载页面时播放第一个视频
{
sendToJavaScript(“videos/dhoom3.flv”);
}
函数sendToJavaScript(id)
{
变量名称=getMovieName(“玩家”);
警报(id);
getMovieName(“玩家”).sendToFlash(id);
}
函数getMovieName(movieName)
{
if(navigator.appName.indexOf(“Microsoft”)!=-1)
{
返回窗口[movieName];
}
其他的
{
归还文件[movieName];
}
}
首先,这是正确的方法吗?现在它没有在flash播放器中显示我的视频,因为它说sendToFlash功能缺失,所以有人能告诉我下一步该怎么做吗 如前所述,如果该函数在类中不存在,则不能调用它。假设它是一个公共函数,您可以通过dot.notation调用swf上的任何方法
mySWF.theFunctionName(myArguments);
根据您连接事件的方式(我建议使用统一的事件侦听器),只需将数字索引字符串发送到您的play方法
注意:以下不是使用统一的侦听器,而是与您的示例保持一致
<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>
var videosArr=[“videos/dhoom3.flv”、“videos/dhoom2.flv”、“videos/dhoom1.flv”];
函数playFirstVid(){
playVid(videosArr[0]);
}
函数playVid(文件名){
var播放器;
if(navigator.appName.indexOf(“Microsoft”)!=-1){
player=窗口[movieName];
}否则{
player=document.getElementById(“player”);
}
试一试{
player.sendToFlash(文件名);
}捕捉(错误){
警报(错误消息);
}
}
sendToFlash是flash电影中定义的方法,因此如果该方法丢失或flash未初始化,则该方法将不起作用。@Lukasz'Severiaan'Grela如果不存在,如何添加该方法?该方法必须是player.swf的一部分,因此如果不存在,则意味着必须添加代码并发布player.swf。您也可以调用错误的方法(例如,您从这里复制了代码),或者只是在调用该方法时,SWF未启动,因此无法访问代码。