我想通过javascript与flash通信,来控制我的flash播放器这里是我的代码,但我有一个错误,你能帮我吗?
var flashvars = {
flvpVideoSource: "myApp.swf",
flvpWidth: "640",
flvpHeight: "360"
};
var params = {
menu: "true",
allowfullscreen: "true"
};
var attributes = {
id: "FLVplayer",
name: "FLVplayer"
};
//functions used to find the id of the flash object
function getFlashMovieObject(movieName){
if(document.embeds[movieName])
return document.embeds[movieName];
if(window.document[movieName])
return window.document[movieName];
if(window[movieName])
return window[movieName];
if(document[movieName])
return document[movieName];
return null;
}
//function in flash to play the video
function playMyVideoInFlash(){
var flashMovie = getFlashMovieObject("FLVplayer");
flashMovie.playMyVideo();
}
//function in flash to pause the video
function pauseMyVideoInFlash(){
var flashMovie = getFlashMovieObject("FLVplayer");
flashMovie.pauseMyVideo();
}
</script>这是我的错误:
Uncaught TypeError: Cannot call method 'playMyVideo' of null index.html:37
playMyVideoInFlash index.html:37
onclick我的按钮代码:
<button type="button" onclick="playMyVideoInFlash()">play</button>
<button type="button" onclick="pauseMyVideoInFlash()">pause</button>提前感谢
发布于 2012-11-27 01:07:07
使用大括号,它应该可以工作(或者写在一行中!),javascript会自动在每行后面插入一个分号!
带大括号的:
function getFlashMovieObject(movieName){
if(document.embeds[movieName]) {
return document.embeds[movieName];
}
if(window.document[movieName]) {
return window.document[movieName];
}
if(window[movieName]) {
return window[movieName];
}
if(document[movieName]) {
return document[movieName];
}
return null;
}一行:
function getFlashMovieObject(movieName){
if(document.embeds[movieName]) return document.embeds[movieName];
if(window.document[movieName]) return window.document[movieName];
if(window[movieName]) return window[movieName];
if(document[movieName]) return document[movieName];
return null;
}您还应该检查函数中的NULL (可能还有playMyVideo/stopMyVideo-function是否存在),因为您在getFlashMovieObject-Function中返回了它:
function playMyVideoInFlash(){
var flashMovie = getFlashMovieObject("FLVplayer");
if(typeof flashMovie === 'object' && typeof flashMovie.playMyVideo === 'function') {
flashMovie.playMyVideo();
}
}https://stackoverflow.com/questions/13569547
复制相似问题