Forum Moderators: open
Even though we firmly believe IE6 must die, it’s not going away any time soon. Now, however, Google has come up with a creative way to improve the experience of Internet Explorer users, without making them actually upgrade or switch to another browser.The company has launched Google Chrome Frame, which is a plugin for IE that “seamlessly brings Google Chrome’s open web technologies and speedy JavaScript engine to Internet Explorer.” In other words, it’s all the behind the scenes features that make Chrome fast and allow it to support modern browser features, but within the IE interface.
[mashable.com...]
[edited by: incrediBILL at 11:34 pm (utc) on Sep. 22, 2009]
[edit reason] removed repeating words [/edit]
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if( strstr($ua,"MSIE 6.0" ) ) {
echo "You need to upgrade Internet Explorer 6 to use all the functions of this website.<br>";
echo "Download either <a href='http://code.google.com/chrome/chromeframe/'>Chrome Frame</a> or ";
echo "<a href='http://www.microsoft.com/windows/internet-explorer/ie7/'>Internet Explorer 7</a> to improve your internet access.<p>";
}
?>
To apply that to every page on your site, including static .html, do the following.
Save my code snippet above to a file "killie6.php" and place it in your http root for your domain, such as httpdocs.
Now add the following into your .htaccess file:
# php directives# KILL IE 6 - IT'S AN IMPERATIVE
AddType application/x-httpd-php .html
php_value auto_prepend_file "/server/path/to/file/killie6.php"
# end of PHP directives
It's that easy, now every IE 6 visitor is getting the message.
Never understood what was so bad about IE6
Try make it render standards compliant CSS (any version), you'll get it fast enough: it sucks like nothing else out there. There are so many bugs in it that never got fixed that there are websites dedicated to documenting them, most even have names such as "guillotine bug", "3px jog", "double margin", ... reverse engineering has been done to try to understand how it works and define states for elements such as "hasLayout" in understanding why the rendering of it is so borked.
I think that between writing up a new CSS layout from scratch and getting it to work properly in all versions of IE the amount of work for IE alone (after it's done for all other browsers) is still more than to get it standards compliant, esp if you run into one of those bugs you didn't know before it can easily becoem a nightmare.
IE8 finally fixed the CSS2.1 compliance, but unfortunately Microsoft went too far and intentionally broke it so it would choke on the new CSS3 selectors.
SVG support: well Microsoft failed to make VML a standard but still seems to think they can win after all by not supporting the standard and sticking to their "failed as a standard" solution.
SVG is vector graphics that we could embed or use as images. need a pie chart: no need for jog, gif or anything, just the data and be done with it. SVG can even be styled with CSS.
IE6, 7 and 8 has been and will be what's holding back development and progress in the webmaster world for many more years to come.
So any move to minimize that is very welcome. Thanks GOOG!
[edited by: swa66 at 2:07 pm (utc) on Sep. 23, 2009]
Never understood what was so bad about IE6 - I'm a firefox user by default but if I need to view a site in IE I use IE6.
Then you're unaware that your sites most likely look totally different in IE7 and IE8?
I was jumping for joy about 4 months ago when google analytics reported that the percentage of visitors using IE6 to view the main site that I handle had dropped to below 5%, I was just preparing to phase out coding for it when it jumped back up to 18% and has stayed there ever since.
-- Oddly, it took a while to find an example of the UA string and then it was only in a self-tester's blog entry. In short, "chromeframe" should appear akin to how it does in the following example (emphasis mine):
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; chromeframe; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MS-RTC LM 8)
-- Here's the "Google Chrome Frame: Developers Guide [code.google.com]."
Regarding the Dev doc's contents... Google, are you high? Sorry, but I'm neither going to add a meta http-equiv nor a sniffer script atop hundreds of thousands of pages/posts just to accommodate GCF.
Offering them links to Firefox, Chrome, and Opera would be friendlier and much more useful than suggesting an upgrade they cannot do.
Jim
From my understanding it updates the User-Agent to let people know its available. How do I determine if its actually being used or not?
How would you classify this Google Chrome Frame in relation to browser detection?
For example in Asp.Net it would currently be returning IE X.X version. Should it instead be returning Chrome?
Or should I create a custom property listing the Rendering Engines available? AKA Trident/webkit?
For example in Asp.Net it would currently be returning IE X.X version. Should it instead be returning Chrome?
All it does is add "chromeframe" into the standard MSIE user agent to advertise to the website that Chrome is available for use.
So the sad part is that if everyone with MSIE 6 added Chrome Frame to their browser all our old analytics programs would still just report it as MSIE 6 even though technically the browser could be almost extinct, we would never know for sure.
Using the auto_prepend in PHP lets you essentially change those documents without changing the static HTML files, so if can be done in 5 minutes.
The document won't validate of course because you'll now have text above your HTML tag, but I guess Bill has other priorities.
I know I sound like a broken record on this, but...
Since Chrome has the absolute worst, unconscionably bad, security on saved passwords (saved unencrypted in a plain text file), I regard it as a much bigger threat to the average user's security than IE8 by a long shot. If you foolishly let Chrome save login info for your bank and credit card and so forth, and your laptop gets stolen by someone who has a clue, you are SCREWED.
So frankly, I don't see embedding Chrome inside IE as a step forward in any way, shape or form.
Yes, of course, you should have some other, more secure means of managing passwords, but remember, we're talking about something targeted at users who can't or won't switch from IE6. They're not likely to think about whether or not that "save username and password" thing is encrypts the data or not.
The document won't validate of course because you'll now have text above your HTML tag, but I guess Bill has other priorities.
I could've written a full solution to read the HTML requested, insert the code in the proper location, and spit it out complete but my purpose was to give a quick and dirty example of possible implementation methods, not a turnkey solution.
Besides, if it's IE 6 it'll render garbage out of order in the wrong location of the page anyway, I think that's part of the point here ;)
Google's plug-in is an interesting thing and I hope it helps.
During "that" era, the standards compliant browser was Netscape 4. IE3 broke the web, and subsequent generations have only marginally improved on its handling of syntactically and functionally correct web content - often breaking in new, unexpected places.
Internet Explorer 6 was released on August 27, 2001 - it's been a decade of horror. Let's put that ugly puppy to sleep once and for all.
Netscape 4 introduced the horrendous JSSS. They did try to make that a web standard. Fortunately for all concerned, they failed.
IE4 introduced DHTML, which included innerHTML, offset properties etc.
IE5 introduced XMLHttpRequest.
IE5 Mac was the first browser with "full" CSS1 support, and introduced doctype switching.
Microsoft *are* responsible for a lot of the web features we now take for granted. But they've also undoubtedly held back open web standards too, since IE6. Chrome Frame could prompt Microsoft to step up their standards support.
Ah, a sober voice on the subject.
>Chrome Frame could prompt Microsoft to step up their standards support.
Well, I hope so too.
But the problem goes deeper. It's the length of the product development cycle. MSFT says it's just too complicated and expensive to ship a browser with a lot of new features to a half billion customers on as frequent a schedule as most of us would like. And, I think, the word "customers" is key - not "users" - MSFT deals with paying customers. With IE being a key part of Windows, there's a very high level of responsibility and accountability involved that no other browser maker need take into account.
Firefox not working for you? Use Chrome. Chrome giving problems? Try Opera. IE not working? Call tech support! Call Dell! Call Microsoft!
Right now, I've got Firefox 3, 3.5 and a special trunk build of FF called Minefield installed on my main XP machine. I choose one or the other using Firefox's profiles feature.
For weeks now, I've gotten nag boxes when using FF 3 that strongly encouraged me to upgrade to 3.5. (Apparently they don't sniff around thoroughly enough to detect the install of 3.5 that's already there.)
Now, it was not until yesterday that the last of the add-ons that I rely on was working with 3.5. But yet, Mozilla ham-fistedly nagged me towards a situation which would have completely fouled me up. Big time. I'm sure it's screwed up many FF users who, mistakenly, thought their add-ons would seamlessly migrate to the new version, unaware that there's always a lag and that, sometimes, the add-ons are NEVER upgraded to the new version.
Taking an approach like that with IE would be highly irresponsible. IMHO.
For what? The canvas tag and rounded corners?
You see, it didn't matter that IE6 had bugs. Or that it rendered things wrongly according to the, by then, published standards.
It did matter. They were putting something in place that was going to cause problems and hold back development / progress for years to come.
MS could get away with that attitude 10 years ago with a 90% market share – an antisocial approach towards open standards was only a problem for *everyone else*.
With the benefit of hindsight we can see how destructive Microsoft's antisocial attitude has been, and yet they still continue to drag their feet with regards to CSS3 and open standards. IE will be dragged kicking and screaming through every major change for ever. Today we talk about wanting IE6x dead, and in 10 years we'll be talking about wanting IE7, 8 and 9 dead too.
The Chrome Frame goes a little way to making the lives of IE6x users that are stuck for the time being with an ugly dinosaur, a little easier. I like that.
IE will be dragged kicking and screaming through every major change for ever.
I think that's right, and part of the reason why Google is developing Chrome Frame and Chrome. I don't think Chrome Frame is aimed at users, though it will be useful to some. I think it's main purpose is to scare the bejesus out of Microsoft, just like Chrome 1.0 did a year ago.
Microsoft have, at last, started giving some feedback on HTML5. It's only taken them 5 years to start contributing...
You don't cite any facts to support this but even if you did, speculating about motives is almost always counter-productive and non-illuminating. The refuge of the unpersuasive.
"Antisocial"?
Does that mean the folks from MSFT aren't any fun at parties?
@tangor
>The web is whatever browser the user has.
Interesting comment. The browser is a window on "the web" and to an extent defines the limits of what we can see and how we see it. I think that's why Google picked an iris as the Chrome logo. (At least it looks like an iris to me.)
You don't cite any facts to support this
Where have you been for the last 15 years? I assumed most of it went without saying. Seriously. How about getting sued by the United States Department of Justice (1998), or getting spanked for $1.35bil by the EU (2008). Those are just 2 tiny hints that you might not be playing well with others.
If it helps, read antisocial as anticompetitive. Ultimately it's the consumer that suffers, and I'd call being stuck with IE6 in 2009 as suffering ;)