본 사이트는 여러분의 사용자 경험을 개선하기 위해 유지 보수를 진행하는 동안 기능이 제한됩니다. 도움말로 문제가 해결되지 않고 질문을 하고 싶다면 Twitter의 @FirefoxSupport 및 Reddit의 /r/firefox 채널을 활용하세요.

Mozilla 도움말 검색

고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기

Javascript: hidden embed tag doesn't respond to Play()

  • 2 답장
  • 3 이 문제를 만남
  • 1 보기
  • 최종 답변자: CJMonk

more options

In the following code snippet on Firefox (Mac OS), the Play() function is not found/does nothing.

<script> function EvalSound(soundobj) {

 var thissound=document.getElementById(soundobj);
 thissound.Play();

} </script>

<embed src="success.wav" autostart=false width=0 height=0 id="sound1" enablejavascript="true">

<form> <input type="button" value="Play Sound" onClick="EvalSound('sound1')"> </form>

The <embed> tag is non-standard, but the above code works on Windows (IE, Chrome, Firefox) + Mac (Safari + Chrome).

A workaround is to give the <embed> tag attributes height=1 width=1 (resulting in a single pixel showing). Setting either height + width=0 or hidden=true seems to hide the DOM object from Javascript.

Security feature? Optimization?

In the following code snippet on Firefox (Mac OS), the Play() function is not found/does nothing. <script> function EvalSound(soundobj) { var thissound=document.getElementById(soundobj); thissound.Play(); } </script> <embed src="success.wav" autostart=false width=0 height=0 id="sound1" enablejavascript="true"> <form> <input type="button" value="Play Sound" onClick="EvalSound('sound1')"> </form> The <embed> tag is non-standard, but the above code works on Windows (IE, Chrome, Firefox) + Mac (Safari + Chrome). A workaround is to give the <embed> tag attributes height=1 width=1 (resulting in a single pixel showing). Setting either height + width=0 or hidden=true seems to hide the DOM object from Javascript. Security feature? Optimization?

모든 댓글 (2)

more options

Does it work if you place the embed in a DIV container that has display:none or visibility:hidden ?


A good place to ask questions and advice about web development is at the mozillaZine Web Development/Standards Evangelism forum.
The helpers at that forum are more knowledgeable about web development issues.
You need to register at the mozillaZine forum site in order to post at that forum.

See http://forums.mozillazine.org/viewforum.php?f=25

more options

Placing the embed in a hidden div container also breaks Play().

As far as I can tell, the <embed> must be visible.