Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用flash解析JS_Javascript_Php_Actionscript 3_Flash - Fatal编程技术网

Javascript 用flash解析JS

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

嗨,我是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>

函数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未启动,因此无法访问代码。