문제

내 페이지에 javaScript를 통해 제어하려는 숨겨진 QuickTime 개체가 있지만 작동하지 않습니다. 객체는 다음과 같습니다.

<object id="myPlayer" data="" type="audio/mpeg" pluginspage="http://www.apple.com/quicktime/download" width="0" height="0">
    <param name="autoPlay" value="false" />
    <param name="controller" value="false" />
    <param name="enablejavascript" value="true" />
</object>

데이터 매개 변수에는 렌더링 시간에로드 될 URL을 모르기 때문에 데이터 매개 변수에는 아무것도 없습니다. 나는 이것을 다음과 같이 설정했다 :

var player = document.getElementById("myPlayer");
player.SetURL(url);

오디오는 나중에 다시 재생됩니다.

player.Play();

Firefox 3.0.3은 JavaScript 콘솔에서 오류를 일으키지 않지만이면 재생이 발생하지 않습니다. Play() 호출됩니다. Safari 3.0.4는 콘솔에서 다음 오류를 생성합니다.

"Value undefined (result of expression player.SetURL) is not object."

Internet Explorer 7.0.5730.11은 다음과 같은 유용한 오류 메시지를 제공합니다.

"Unspecified error."

내 컴퓨터에 Quicktime 버전 7.4가 설치되어 있습니다. 애플의 문서 그렇게 말합니다 SetURL() 맞습니다. 왜 작동하지 않습니까?

도움이 되었습니까?

해결책

객체 요소에 너비와 높이 (1px x 1px)를 제공하고 JavaScript를 통해 플러그인과 통신하려고 할 때 뷰포트 내에서 볼 수 있도록 해보십시오.

플러그인 영역이 화면에서 보이지 않으면 JS 명령에 응답하지 않습니다.

이것은 왜 이것이 당신에게 효과가 없는지 설명 할 수 있습니다.

Safari와 Opera는 작동해야하지만 Firefox에는 Netscape Style Embed Element가 필요하며 실제로 두 가지를 모두 제공해야합니다. 또한, 일단 두 가지 모두 있으면 어떤 브라우저를 주소에 주소 할 요소 (객체 대 포함)를 확인해야합니다.

다른 팁

나는 QuickTime API를 모르지만 이것은 샷의 가치가있을 수 있습니다.

player.attributes.getNamedItem('data').value = 'http://yoururlhere';

링크 된 페이지는 '데이터'속성을 언급하지 않습니다. 그들은 객체 내에 임베드와 매개 변수를 가지고 있으며, Embed의 'SRC'속성에는 URL이 있지만 게시 한 내용에는 포함되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top