So far what I’ve been developing has worked in Chrome and, using fallbacks, IE8.
What I don’t get is this: Safari just won’t start loading <video> or <audio> content.

Safari 6 won’t load, and neither will iOS 5’s Safari:

My code calls .load() on the elements at the appropriate time (at least for Chrome), so what gives?
Here is the video declaration:
<video width="800" height="600" class="faces" id="facesVideo">
<source src="video/grid.mp4" type="video/mp4" />
<source src="video/grid.ogv" type="video/ogg" />
</video>
The audio is declared dynamically, but has the same problem.
Do I need to wait for some DOM event that Chrome doesn’t need before calling .load()?
What does it take to get Safari to start buffering until the elements can fire canplaythrough?
Since Safari does not support
.load(),preload="auto"must be added to any HTML5 media elements that you want Safari to buffer before playing. Go figure.i.e. the element should look like: