A few days ago I found out that Internet Explorer is important. If you stop using it (either because you cannot use it like me (no windows) or because you have installed a better browser) you easily forget how broken it is. I was writing my album script and checking it if was valid XHTML 1.1. There was still a warning that the mime type was not application/xhtml+xml. So I fixed it and was happy that it was looking like I wanted it to and it validated without any warnings.
A few days later I wanted to show my pictures to someone using Internet Explorer and found out that instead of displaying my valid XHTML 1.1 page it complained about an unknown file type and wanted to download it as a binary. After googling a bit around I found a few articles describing just this problem and it looks like it will not be fixed, even in the next version. Some workarounds are to rewrite the mime type with something like this:
RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
RewriteCond %{REQUEST_URI} \.xhtml$
RewriteRule ^/~adrian/2008/.* - [T=text/html]
I really dislike this solution and I will probably go back to serve XHTML 1.1 with the wrong mime type.
So, it seems it is important to use Internet Explorer once in a while to not forget how lucky you are using Linux and some browser which actually works.
Ye known problem it’s in here for ages! We also use the rewrite rule because it’s a corporate website. I hate browser checks but it’s just plain needed with IE for example with stylesheets.
To be fair to IE on this particular point, it does not claim (in the HTTP request) that it supports application/xhtml+xml. It is hence not a flaw present such a returned type to the user as a binary.
On my site I use XSLT to transform my custom schema into various outputs based on the request, and this is the post-processed by PHP if necessary. It can return XHTML 1.1, HTML 4.01 Strict, and even plain text.
Odd. I did not know there were people who developed websites/webapps without testing against the most commonly used web browser.
Dan is right. You should check that the UA supports the content before blindly serving it.
What I do is serve an HTML 3.2 document with no images, no CSS, and no javascript to IE. They see the page like it’s 1996 all over again. At the top and bottom of the page is the only bit of colour on the page: A bold warning with a gold background that a standards-compatible browser is required to view this website. I suggest (and link to) Opera and Firefox.
>What I do is serve an HTML 3.2 document with no images, no CSS, and no javascript to IE. They see the page like it’s 1996 all over again. At the top and bottom of the page is the only bit of colour on the page: A bold warning with a gold background that a standards-compatible browser is required to view this website. I suggest (and link to) Opera and Firefox.
So, your solution to IE CSS/Javascript issues is to lie to your users and to use the same exclusionary practices you’d likely be crying bloody murder about if you came across a webpage that worked in IE and not Firefox or Opera?
Brilliant.
Well, that’s another way to reduce traffic to your page. Anyone that tries to enforce “his” browser on me is one who’s page I won’t visit a second time
Seriously, for someone who does web works, don’t you think you’re too late to realize that?
Do you not knowing the existence of IE4Linux?
And what about MultipleIEs for Windows?
Why do people try to have a useless piece of junk, or sometimes even to download special software packages (MultipleIEs) to get some other more useless piece of junk on their PCs?
Because they are other people which happens to be quite a big number of them, are using those junks.
@What is Internet Explorer?
Serving a stripped-down HTML page with a big bold warning for 80% of the web users is so cool! And so friendly! I am so fascinated by this warning that I will come back to your site each day to see it!
Also luckily this warning includes:
“Firefox is better for users, as it displays webpages exactly how the designer intended.”
Maybe you should realize the fact that your opinion is not representative for each web designer and replace “webpages” with “this webpage” and “the designer” with “this narcissistic designer”.
>So, your solution to IE CSS/Javascript issues is to lie to your users and to use the same exclusionary practices you’d likely be crying bloody murder about if you came across a webpage that worked in IE and not Firefox or Opera?
How is telling your users that IE doesn’t support standards lying to them? And to answer your question, if:
1) Mozilla or Opera acted like Microsoft
2) Bundled their browser with the operating system
3) Made their browser impossible to remove (no, I’m not using Vista to remove IE)
4) Made their browser’s support for standards absolutely suck
then yes, I would recommend against them. But, neither Mozilla nor Opera does any of those things, and therefore, as the website is in fact mine, I can tell my users whatever I want.
Just because I like Firefox in its present state doesn’t mean that i think it is perfect, nor does it mean that I hate Microsoft, it simply means I think its the best tool for browsing websites. If another tool came along (or Microsoft greatly improved IE to the extent required by the above criteria) and that tool ended up working better than any current tool, I would would have no problems – none – recommending it to my users.
Out of the three major software companies Microsoft, Mozilla, and Opera, which one do you think has the most money available for product development? Which one has the worst support for current standards? Doesn’t that seem stupid to you?
So, your solution to IE CSS/Javascript issues is to lie to your users and to use the same exclusionary practices you’d likely be crying bloody murder about if you came across a webpage that worked in IE and not Firefox or Opera?
It sounds to me more like it’s his solution to IE not supporting eight-year-old standards.
> Internet Explorer Is Important
No, it isn’t. Personally, I don’t make websites for retards, so when I design the webpage, I make sure it renders perfect in Firefox and Opera and renders *somehow* in IE. You can hardly read the text on the page I made? Go thank some Steve Ballmer or something. No excuses for broken software.
You have to test your site on the browsers your audience uses. If your site is for Opera users, you don’t need to test on IE or Firefox. If your site is for a wide audience, 80% IE users, you have to test on IE, and made sure it works as good on IE as in other browsers.
You need to have something very important to your users to get them to change their browser; only banks, bosses or administrations could really do that. Otherwise, you converting less than 5% of them to the true faith. The rest of the IE users will think your site is broken, or that you are a total prick who insults them. Their browser may be shit, but they don’t care: it’s you who made a site they can’t use without doing something they don’t want or even know how to do. Yes, there are people who uses computers without knowing how to download or install an app. Sometimes, they even can’t: corporate computers frequently don’t allow installing software to non-IT staff.
(More or less the same as when you go with your Firefox to a IE-only site. ‘Stupid designer! Doesn’t he know there are standards in the web?’ ‘My browser is not supported? Bastards!’)
Dude … you crack me up. I LOVE YOUR BLOG! Keep up the great work beating down the freetards with their ponytails and pocket protectors
Your posts are hillarious.
In all fairness:
– IE says it supports ‘*/*’, no ‘q’ parameter: it perfectly supports all formats.
– XHTML 1.1 must be distributed as application/xhtml+xml (recommended), or alternatively as application/xml or text/xml (acceptable), the last two IE does know about but won’t display (because IE’s MSXML3 engine can’t parse the XHTML 1.1 DTD: MSXML3 isn’t XML 1.0 compliant)
If you want to have your page up and running properly,
– don’t use anything past XHTML 1.0 (basis for HTML5)
– check if the browser explicitly accepts application/xhtml+xml; if not, send as text/html
According to W3C XHTML 1.0 specs, annex C, this is the way to keep coherence with “legacy” browsers (and now, repeat after me: not-yet-out IE 8 is already legacy).
Of course, by doing this, you make it impossible for IE to understand embedded MathML and SVG – but these aren’t supported anyway.
– if your website isn’t intended for a large audience, do as you wish, but I recommend forgetting about XHTML 1.1,
– if you need a large audience, same as above, but get ready to run compatibility tests, like all website authors out there,
– if you feel up to it, you can make IE parse and display application/xml XHTML 1.0 as XML (and maybe parse MathML and stuff), and even make it render the page graphically instead of tree view – but it will switch to CSS Quirks mode, be even slower than usual, and crash at the drop of a hat.
Chris Wilson announced, back when IE 7 wasn’t out yet, that proper XHTML support wouldn’t come before IE 9 – if even then. That is probably still the case, as IE 9 may be the first version of IE with proper HTML 5 support.