I get the same problem with Firefox Mac (and have not upgraded to Yosemite yet), but it seems to me that you have solved your problem a long time ago. The simplest solution I can see is to add an extra layer of overlay under your current one and set them to 0.98 opacity (which is apparently the highest that you can go and still have a click job at least least in my tests).
Obviously, this will depend on what you hope to show on your overlay, but for my tests locally I set the bottom overlay (sorry, ridiculous name) to black. This meant that the video under it was imperceptible. You might even lower it a bit with opacity and still block everything with two layers, just in case the opacity thresholds for blocking clicks vary by version of Firefox.
.x-overlay { opacity: 0.98; ... } .x-under-overlay { opacity: 0.98; position: absolute; background: rgba(0, 0, 0, 1); width: 100%; height: 100%; overflow: hidden; pointer-events: none; }
NOTE: One drawback to consider when using even a little opacity. For some browsers (or at least browser versions), text that appears in a layer with opacity may result in an error or lack of smoothing. But this happened mainly in many older versions of Firefox and Chrome.
Update
Well, it got me a little around the wall, or up the bend, or some strange phrase that can be used to describe the experience of constantly waiting for one, but successively getting another ... that has terrible similarities to the definition of a madman .
Why on [insert home planet here] did this work for Codepen, but not in my own localhost-served iframe ... ??
After several attempts, I found a sandbox attribute that I really should have noticed before; especially considering all the weird cheats that he can enable and disable using his own browser processes. A quick trial and a few bugs later, and it looks like this allows you to work with most of these online violinists, is this:
<iframe src="index.html" sandbox="allow-scripts allow-same-origin"></iframe>
I still couldn’t find out why, but if I turned on localhost as described above, it will start working without the need for a transparency trick. I suppose this should force Firefox to route through another process, or perhaps it just disables cross-entry-level protection against cross-hijacking.
A very strange state of things ... this is the kind of oddity I would expect from Chrome! Not good ol 'firefox.