2012-07-08 4 views
1

내 질문은 입니다. 어떻게 자바 스크립트/jquery 함수를 호출하여 동영상을 시작합니까?.mov (<object>) 파일을 javascript로 제어 하시겠습니까?

배경 : 나는 내장 내 HTML에서 개체를

는 .mov 파일과 같이이다 :

<object CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="100%" height="100%" class="movie1" id="movie1ie"> 
       <param name="src" value="movies/test.mov"> 
       <param name="autoplay" value="false"> 
       <param name="loop" value="false"> 
       <param name="controller" value="false"> 
       <!--[if !IE]>--> 
       <object type="video/quicktime" data="movies/test.mov" width="100%" height="100%" class="movie1" id="movie1"> 
        <param name="autoplay" value="false"> 
        <param name="loop" value="false"> 
        <param name="controller" value="false"> 
       </object> 
       <!--<![endif]--> 
      </object> 

그리고 내가 함께 동영상을 재생 할 때까지, 괜찮을 것 같다 자바 스크립트 호출.

function startMovie(whom){ 
    var playIt = 'movie'+ whom; 
    $('#' + playIt).get(0).play(); 
} 
//and call the function 
startMovie(1); 

을하지만이 오류가 얻을 : 내가 jQuery를 사용하고 그래서 함수 내에서이 시도

Uncaught TypeError: Object #<HTMLObjectElement> has no method 'play' 

가 이상한,하지만 내가 사용하여 전화를 시도 그래서 jQuery를 닌자 해요 좋은 늙은 자바 스크립트 :

function startMovie(1){ 
    var playIt = 'movie'+ whom; 
    document.getElementById(playIt).Play(); 
} 

하지만 지금 얻을 내 콘솔에서 다음과 같은 오류 :

Uncaught Error: Error calling method on NPObject. 
나는이 영화가 오류없이 재생됩니다 내 콘솔에 다음을 넣어 경우 때문에, 매우 이상한 것입니다

:

document.getElementById('movie1').Play() 

FWIW 내가 Mac에서 크롬을 이용하고 있고 파일이 로컬 컴퓨터에서 실행중인 (서버 없음).

+0

Google에서 내 질문을 찾았습니다. 비슷한 문제가 있습니다. 해결책을 찾았 니? –

+0

Btw : 동등한 문제가 있고 답이없는 사람 : 내 솔루션이 포함 된 문서의 구문을 확인하고 있습니다. 오류가있는 경우, 예를 들어 비디오 소스가 존재하지 않는 경우 QT 플레이어 초기화가 올바르지 않은 것입니다 (모든 것이 정상적으로 보입니다). 이 경우,'Play()'메소드가 초기화되지 않았으므로'NPObject에서 메소드를 호출하는 중 오류가 발생합니다. ' –

답변

3
function startMovie(whom){ 
    var playIt = 'movie'+ whom; 
    document.getElementById(playIt).Play(); 
} 
startMovie('1'); 

시도해보십시오.

+0

내 질문에 오타가 있었는데, 내 함수는 이미 그렇게 보이지만,'startMovie (1);과 같은 함수를 호출합니다. 문자열이 아니고 number가 diff를 작성합니까? – Crisman

+0

가능성이 있습니다. '.Play' 행 앞에'console.log (document.getElementById (playIt));'를 써서 무엇이 반환되는지보십시오. –

+0

다음과 같이 반환됩니다 :' \t \t \t \t \t \t <매개 변수 이름 = "자동 재생"값 = "FALSE"><매개 변수 이름 = "루프"값 = "FALSE"> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t' – Crisman