View Full Version : IE 6 - Yuck?
simcomedia
10-14-2009, 05:04 PM
[This reply was originally separated from this thread (http://www.dynamicdrive.com/forums/showthread.php?t=49165)]
Personally i'm tired of making concessions in design to accommodate the lowest common denominator. If someone is using IE6 or sooner then likely they're on an old CRT style monitor that is also going to require you make your designs 700 pixels wide and centered. So, even if you fix the PNG issue, is your design 700px and centered? The point is, they're never going to see it the way you designed it unless you designed it specifically for IE6.
A better fix for all of us is to simply place a link on the site that says "Click Here To Upgrade Your Browser... it's FREE. Then you'll stop seeing all this weird crap on your screen". By catering to 5 year old technology we're just giving them more reasons to be lazy.
Reminds me of the Netscape/Explorer wars of the 90's, having to design twin sites and give the choice to the viewer on the home page which way they wanted to view it. Garbage.
jscheuer1
10-15-2009, 01:47 AM
Personally i'm tired of making concessions in design to accommodate the lowest common denominator.
Then don't, but please don't rag about it in someone else's thread. Though it is possible to accommodate older browsers and displays without limiting your design. If you want to discuss this further, take it to the lounge area.
djr33
10-15-2009, 03:38 AM
Personally, I am not too bothered by the idea of if(IE6), which would be quite easy to implement in PHP. However, there are two problems with that:
1. It is a pain to setup in terms of design: you would have to have extra PHP code on your page for every image you want.
2. IE6 is not the only browser that will have problems. Other browsers, such as text only browsers, will also have odd results, so having a page that relies on certain effects is bad and it should downgrade smoothly.
Despite this, though, IE6 is certainly the most likely "bad" browser, so specifically dealing with it is possible. User-agent strings are not reliable and can be faked, but if this is not security and you are wanting to just help the average user of IE6 to see your page correctly, it will work most of the time.
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'],'IE6')) { //***
//do IE6 stuff
}
else {
//do the normal code
}
?>
The line I marked with *** searches the User Agent string (sent by the browser to the server) for "IE6". I don't have IE6 available at the moment, so you need to determine what the best thing to search for to identify the browser is. The string will vary slightly by system, so find a short phrase like "Internet Explorer v6" or whatever is common to all of them.
(Just echo $_SERVER['HTTP_USER_AGENT']; to see what the browser is sending.)
It seems unreasonable to me, though, that you would need to go this far with fixing something for one browser, so I'm not sure I'd recommend using the code above, but it would work if you want.
if this is not security and you are wanting to just help the average user of IE6 to see your page correctly...
If that's the case, you could simply use <!--> [I] do IE6 stuff here <![endif]-->. IE should read it correctly (if it doesn't, it's just a ugly page), and everyone else *will* ignore it. I use IE conditional comments with good results to serve IE-specific css.
Something as simple as <!--[if lte IE 6]>Internet Explorer 6 is no longer supported. Please upgrade to a modern browser. <a link to FF><a link to IE 8><![endif]--> is all the accommodation I bother with.
djr33
10-16-2009, 10:18 PM
Note: my reply was in response to something in another thread, specifically about using PHP.
As for what you said, though, the IE conditional comments seem reasonable, but they also look ugly in the code; using PHP would be a hidden way to do the same thing. Generally the conditional comments would be fine if you want to use that approach.
jscheuer1
10-17-2009, 12:01 AM
Either may be used. Conditionals have the advantage of being virtually instant client side code. They do muck up a page's served source code a bit though, more so if their application is not well thought out. However, though well thought out PHP branching on this would serve clean source code, the server must get involved. This can slow things down, though not always. In any case, the code you (the page's author) write (as opposed to the page's served source) would still be a bit mucked up.
One other thing though, if the:
$_SERVER['HTTP_USER_AGENT']
can be spoofed in the same way that the navigator object in javascript can be (which I'm pretty sure it can), you are better off with conditionals.
djr33
10-17-2009, 01:15 AM
But spoofing only applies when someone is trying to get around something: no one (except exceptionally stupid users) would spoof their IE user agent string to get badly served PNGs or otherwise. And of course no one runs around using Firefox pretending they're on IE :)
As I said above, this is not guaranteed for security, but it's entirely reliable for just helping users get a working page. If they want to mess with it, fine by me-- they don't want a working page.
jscheuer1
10-17-2009, 04:10 AM
But spoofing only applies when someone is trying to get around something
Think legacy. That's the whole point of this in the first place. If you are bothering to accommodate legacy browsers, consider legacy adaptations as well. There was a time when IE 6 was king. In those days folks adapted other browsers to spoof IE 6 in order not to be excluded from sites that required it.
Since then much has changed, but not in some cases (probably in a significant number of cases), the settings of those non-IE browsers.
Personally I can go either way on the issue of whether or not to accommodate IE 6, it would depend on a lot of considerations - basically on the site itself and its target audience/how dedicated it was to being accessible, etc. - probably also other considerations I'm not thinking of at the moment.
But if you want to go down the road to be IE 6 accessible in the spirit of supporting legacy systems, I think you should go all the way and do it in such a fashion that doesn't restrict accessibility to others who may have non-IE browsers set to spoof IE.
I'm dancing around this really. The bottom line is (and this applies to a much wider set of decisions involved in presentational coding) - Use methods that are documented and supported as a part of the software that you are targeting. In this case conditional comments as opposed to the navigator object or the navigator object as interpreted by PHP.
If you use documented and supported methods as opposed to 'what works in most cases', you don't have to come back later and revise things or worry about any user agents that might slip through the cracks or get served inappropriate content. That's aside from and above and beyond taxing the server for what can be (in this case) a very low load client side branching technique - conditional comments.
I'm all for using the server when it is the most efficient approach. I don't believe it is here.
All that said, I'm not so much invested in this to really care all that much. Do whatever makes you happy.
What really pleases me in all of this though is that we can now truly say that IE 6 is, or at least is fast becoming, a legacy browser.
Powered by vBulletin® Version 4.2.2 Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.