James Cox wrote:

On 20 Oct 2007, at 00:31, Robert O'Callahan wrote:

After some discussion on IRC, I think Jonas, Hixie and I agreed that we're OK with the following approach: -- sound is produced for display:none elements and elements not in the DOM

what about people hiding ads or other elements via greasemonkey scripts (and so on) - using display:none hacks to remove from visibility? If naming is an issue, how about a new css element of active:none; which prevents any video/sound/display playing.

The greasemonkey script could easily find all audio/video elements and stop them.

-- removing an element from the DOM automatically calls stop() on that element-- tearing down the owner document always stops the element playing (so navigating away from the page always stops sound)

Therefore
myAudio = new Audio("foo.wav");
myAudio.onload = function () {
  this.play();
  myAudio = null;
}
will work, and will play until the sound ends or the user leaves the page.

Is there still a way to find this element in the DOM? Again, thinking about greasemonkey scripts which want to kill all sound in a page.

No, there is no way to find these elements. Ideal is if UAs expose some internal API that extensions can use to mute the sound on the page.

/ Jonas

Reply via email to