Gregory Maxwell wrote:
I've basically done this. Not in the monobook
skin, but injected via
JS for 1:100 requests along with the IPv6 test. The unambiguous result
is that it works.
The open question is: "does it work for more primitive clients which
do not support JS?" We could use non-JS images, but we'd have no way
to get error reports.
The only further test I could really see doing would be doing
something like using them for all images and seeing if people start
reporting "Wikipedia has no images anymore on my cell phone!", but
caching means that if it does cause problems we can't instantly
revert.
Good ideas welcome.
You could use some CSS like
cursor: url(buggy-css-support.cur);
cursor: url(//supported-browser.cur) url(http://broken-browser.cur)
default;
Sadly, cursor seems to be the only CSS property allowing fallback. It is
also quite an advanced (useless) and annoying property, so old browsers
are also likely to just skip it.
It would be nice if we were able to do that with a <img> tag.
We can emulate it by having two elements on the same position with an
higher z-order for the protocol-relative one, but user agents will load
both, so you would still need to rely on users reporting that they saw
an image saying "Your browser doesn't support protocol-relative uris,
tell us at X!"