From the standpoint of the individual developer, you handle edge cases like this so you don't break your clients' experience.
From the standpoint of the ecosystem, broken tools are bad, and they cause individual developers to have to handle more edge cases.
If one individual developer doesn't handle these edge cases, their clients will just think they are bad. If all of the individual developers decided not to handle these edge cases in a coordinated fashion, sure, they could trigger a change. But I don't think that's how it happens in the real world.
To look back on the days of IE6/IE7, most developers didn't just stop supporting these browsers and hope that their clients would stop using them; they supported the browsers until larger forces caused their clients to shift to newer browsers.
Getting back to my original point, I think it's possible for each of you to have the viewpoints that you have, but also for rachelbythebay to say, "Sure, if I could coordinate with all other devs to stop handling broken edge cases at the same time, I would do that," and for you to say, "Sure, I can see how you would want to keep your job and handle edge cases until they are fixed upstream."
That turned out really well in the past.
http://stackoverflow.com/questions/4831741/can-i-change-all-...
“Internal to Trident, the download queue has “de-duplication” logic to help ensure that we don’t download a single resource multiple times in parallel.
Until recently, that logic had a bug for certain resources (like CSS) wherein the schema-less URI would not be matched to the schema-specified URI and hence you’d end up with two parallel requests.”
http://www.stevesouders.com/blog/2010/02/10/5a-missing-schem...
You could use a resource loader if you really cared but with IE8 under 10% and dropping I'd recommend keeping your site clean and maintainable – anyone using IE8 at this point is used to the web being slow and ugly so something like this will be the least of their worries.
EDIT: from the post, IE8 only downloads stylesheets twice. Nevermind.
That way, if you load the file using file:// it will still work. Any downsides?
Does anyone have any experience writing regex for this?
`//fonts.googleapis.com/css` becomes `file://fonts.googleapis.com/css` → doesn't work
Additionally, JavaScript files might not load or work due to browsers' (security) limitations. Not sure about the exact details here.
That's not great...
A lot of folks get started editing HTML by downloading an existing page, editing it in some small way, and viewing the resulting page to see if it worked.
This would break that approach.
When I built Giraffe[1], a front-end for Graphite, one of my aims was that people can launch the dashboard from their desktop, then add dashboards to it by editing one file locally. So most of these people will use a server one day, but forcing them to launch a local server before they even start, really decreases the ability to play with it instantly and try it out... the code in giraffe's index.html needs to work both on the server and locally.
I already experienced strange behaviour with loading JSON/JSONP from a file:// based url, and I know it's an edge case, but it's still a useful use-case in my opinion.
If you really, really want to use //:
busybox httpd -p 8080So on something like an "invoice" page that the user is likely to want to save you may not want to do that (or use a piece of javascript to rewrite the links dynamically)
some still don't...
Most still don't!http://paulirish.com/2010/the-protocol-relative-url/
Not using protocol relative urls causes a great amount of pain. Unfortunately when you're building content for third party pages you need more graceful degradation than focus stealing dialogues.
You can't redirect SSL > non-SSL without a browser warning though, right? Unless you get a cert, at which point you may as well put it to use.
EDIT: Use `//` instead of `http://` or `https://` and it will use whatever the protocol of the page being fetched is using.
EDIT 2: Double check when you use the `//` shortcut that the website you are linking to supports HTTPS, some still don't and they don't redirect properly...