javascript 控制flash暂停的---可是----不成功


在新浪视频播放的时候 我插入了下面的代码 希望通过js控制flash视频暂停和播放,但是不能成功

javascript代码如下:


 function getFlashMovieObject(movieName){
  if (window.document[movieName]) {  
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1){
     if (document.embeds && document.embeds[movieName])
     return document.embeds[movieName]; 
     }else{
        return document.getElementById(movieName);
  }
}
 var flash = getFlashMovieObject("myMovie");
 alert(flash);//弹出了object HTMLEmbedElement  获取flash对象成功
 flash.StopPlay();
 alert("ok");//弹出ok

每一个alert都执行了,唯独flash仍然在播放 请问哪里错了????????

flash web前端开发 前端 JavaScript

sMile灬夜 10 years, 11 months ago

先确认一下新浪视频flash播放器有没有注册这个叫StopPlay的方法给容器。你可以只alert(flash.StopPlay)看看。如果有的话,再试试用以下方法调用


 function callFlash(functionName, argumentArray) {
    argumentArray = argumentArray || [];

    var movieElement = this.getMovieElement();
    var returnValue, returnString;

    // Flash's method if calling ExternalInterface methods (code adapted from MooTools).
    try {
            returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
            returnValue = eval(returnString);
    } catch (ex) {
            throw "Call to " + functionName + " failed";
    }

    // Unescape file post param values
    if (returnValue != undefined && typeof returnValue.post === "object") {
            returnValue = this.unescapeFilePostParams(returnValue);
    }

    return returnValue;

};

Jastin answered 10 years, 11 months ago

Your Answer