IE9, Iframes, DOCTYPES, and You

Well hopefully we can ignore 7 as a browser but it’s been my experince that by default IE8 falls back to IE7 document mode which makes it just as buggy as 7 was in the first place… And being that IE8 is the top IE browser for Windows XP, there will be a lot of IE8/7 browsers to deal with for some time yet.

You can switch document mode in IE’s developer tools but I doubt that the regular user will ever get to that part of their browser’s toolset.

I’ve found the opposite… I don’t find many sites that default to IE7 mode. By default, a site should be in IE8 mode, so it shouldn’t affect developers of new websites at all (unless they choose to use the meta tag to switch to IE7 mode again).

I suppose the obvious solution is do not use none standard compliant pages in an iframe and expect them to look good in a standard compliant way.

Hmmm… Strange.

I first discovered this on my rock-stock Vista laptop when I was checking a website in IE8. It looked fine on my Win XP IE8 machine but there was a weird padding issue on the Vista laptop. So, I looked at the developer tools settings on the laptop and it was set to Browser Mode: IE8 Compatibility View and Document Mode: IE7 Standards. The way around that is to insert the meta tag to force IE8 mode. All the same I’d prefer IE7 was IE7 and IE8 was IE8. I find compatibility mode and quirks mode throw a wrench in the works for otherwise standards compliant web development.

Yes, but like I say, it was that mechanism that allowed MS to embrace standards a lot more without breaking backwards compatibility.

Yeah, I know that was their argument but I don’t buy it… It’s always sounded like a cop out to me or at least as flawed argument. IE6 is what, 12 years old now? IE7 was much better but had bugs, IE8 was miles better except for compatibility and quirks modes… which default to document mode IE7. I just hope IE9 isn’t going to be problematic.

Besides, what’s the reason for being backwards compatible? Corporations that rely on IE6 for intranet support are still using IE6. They never went to IE7/8 and if they ever get to IE9 they’ll probably have abandoned their old intranets in favor of something current. The bottom line is that the IE team made a poor business decision that resulted in developers having to check websites for 3 versions of IE although their standards compliant code is consistent in other mainstream browsers. My only hope is that we won’t have to add IE9 to that list. I still check sites in IE6 and only this year produced a site that I didn’t have to check for IE6 compatibility (small demographic and the client didn’t care about IE6 compatibility).

So far, the only thing I’ve run into that could really be called a bug is this issue with iframes and DOCTYPES (and to reiterate, for the sake of the HTML/CSS Taliban members out there, it extends to embedded OBJECTs as well). At least, it seems to be a bug to me. MS seems to think otherwise.

Other than that, the only problems I’ve run into have involved either a very literal, very strict interpretation of the standards (tough to piss and moan about that, even if FF, Chrome, et.al., have been a bit more flexible), or old scripts that haven’t been updated to adapt to IE9. I’m using swffit.js, for example, which almost falls into the “abandoned code” category. Alas, I lack the Javascript skills to fix the minor problem that’s cropped up in it. I believe it involves the manner in which IE9 reports the size of the viewport, but I can’t quite track it down.

Fingers crossed.

Yup hopefully that’s it. I haven’t used iFrames for a while but I do have a site that depends on a 3rd party site for some members only features that may take some content in iFrame (because the other site’s developer doesn’t want to furnish a web service). I’ll have to look at that issue in IE9. Also I suppose I had better have a look (in IE9) at anything with video or flash embedded just in case.

Oh well… It keeps life interesting right :rolleyes:

The moment something no longer work on any of Microsoft’s platforms there will be hell. You can see this with every single update no matter how minor. One little thing breaks and the world is in uproar. I’ve seen this time and again. And those that are running old crap software only update when they have no choice. Heaven forbid they have to update there intranet because they got new computers.

Those who say Microsoft should abandon backwards support will be the first to ***** about how they broke so-and-so. Also, its not the IE team that made this decision. Men in tight fancy suites that cost more then my computer made the decision.

Again, I don’t buy it… How long has anything been supported in Win95/98/ME/2K. They don’t allow IE9 to work in anything less than Vista and I don’t recall how far back IE8 goes but I would say that particular stance on backwards compatibility is somewhat flawed.

You would think that would you? But whatever. It doesn’t matter. Things are the way they are and you cannot change it.

Neither IE8 nor IE7 will work on anything earlier than Windows XP.

I think the issue with Internet Explorer is its lack of backwards compatibility. People are far less inclined to update software that they have to pay for (such as their operating system) than they are to upgrade free software (such as their web browser). The main reason that the old incompatible versions of IE continue in use is that the more recent versions of IE will not run on the older operating systems.

If IE9 were backwards compatible to Windows 2000 then the time taken to for everyone using IE to upgrade to that version would be many years less than the current situation where those still using Windows 2000 because they can’t upgrade past IE6 because even IE7 is incompatible.

Again though, you can’t expect to be using decade old technology (or older) and then expect to be able to use the latest software, and even expect to view modern websites without them breaking. You just can’t. It’s not like that for any other technology. You have to break some backwards compatibility if you want to make progress, there is no other way around it.

Look at MacOS - There was a solid brick wall built between OS9 and OSX - nothing from one will work on the other at all, yet you don’t hear people complaining about this, but MS who do their best to make badly coded websites appear OK on their modern browsers get all the flak.

Oh where to begin…

How about with the old technology new software bit. I can run Chrome 10.x on Windows XP. It doesn’t have quirks mode and it supports all the new wiz-bang features, acid 3, the works… That’s roughly a ten year old OS running perhaps the best browser available :smiley:

As a matter of fact there are many articles around that describe how to get Chrome or Firefox to work with Win2k as well. It’s not that the software won’t work, it’s that it has been designed not to work.

That said, I totally agree with your stand on backwards comaptibility. Apple did a great thing when they dumped Classic Mac OS in light of OSX. Mind you, we are talking about two different things. OSX is a complex operating system that provides the environment for software to run and a browser is a piece of software that runs on top of said OS utilizing a great deal of the OS for support. That aside, it’s too bad MS didn’t do the same when they updated their browser from IE6 to present day. If they had dumped their broken model and followed standards (that were in place with FF, Opera, Safari, etc…) we wouldn’t have 4 versions to deal with. Why is it do you suppose that we don’t have this mess with any of the other browser vendors?

That’s hardley the concern. I think the real concern is that with all the backwards compatibility BS engineered into IE, developers are concerned that modern websites will render as expected. That’s my concern anyway.

Chrome might well run on XP, but I bet it doesn’t take advantage of the same hardware acceleration the IE9 probably does. Also, don’t forget that the IE engine is quite deeply embedded into the windows core on earlier versions of windows… there are compatibility issues there. I would also argue against it being the best browser ever :smiley:

The reason MS had to maintain backwards compatibility was so that people actually used the new browsers, and in time, the new OS’s. Apple was able to break backwards compatibility with OSX because they had such a low market share that they could afford to. Windows/IE cannot.

I think the point of Chrome, FF, Opera, etc… on Windows is that they’re fast without the purported hardware acceleration that IE enjoys. As a matter of fact I don’t think IE is anywhere close to Chrome when comes to speed. I can’t say for IE9 yet though… I’ve been playing with IE9 beta on Win7 for a while but I still need to uninstall it and put the full version on to see how it feels compared to Firefox/Chrome, etc. No doubt it’s a better browser than any IE before it.

I’m not really a Chrome fanboy. I’ve had it on my everyday machine for testing since it was in beta and added web dev toolbar and firebug. What I’ve found is, now that it’s somewhat hardened, I’ll open it for testing and then continue using for some time as I continue to test and develop until I realize I’m not in Firefox anymore. That to me is an indicator that I might switch from FF to Chrome. It’s darned fast and I think it might even be leading the challenge of CSS/HTML support (CSS3/HTML5/WebGL). Opera may be in the lead but I’ve lost track of that sort of thing.

And yes, MS obviously has the greatest market share by a long shot which makes it all that more unfortunate that they chose to continue to try and support bad habits of IE5.5/6 websites. I remember about 7 or 8 years ago a young developer friend of mine (ironically he’s a year older than me) came up to me and said that he didn’t need to learn how web standards worked because he could mess about in Dreamweaver with nested tables and it looked great in IE. He didn’t care about Apple/Linux computers or Netscape 5/6, Mozilla, Opera, etc… As long as it wokred in IE, he was satisfied. Of course he has long since stopped doing anything for the web but his attitude was enabled by backwards compatibility thinking of making crap code look good. Anyway, I’ve rambled way off topic by now :blush:

Surely with the other browsers not bothering to do that those badly coded websites still end up looking like garbage for the 2/3 of people who don’t use IE.

Microsoft’s policy of doing this might have made sense when they had 90%+ of the market but, now that IE6, IE7, IE8, and IE9 have barely more users between them to what Firefox has, the policy makes less sense now. They’d have done better to make sure IE9 works the same way as all the other browsers do rather than worrying about backwards compatibility for web sites that hardly anyone will see the way they were intended to look in a couple of years time.

If a bad site is so bad it can’t keep up with standards (or at least abuse tables enough) to look good in modern browsers, it likely doesn’t have anything worth viewing anyways.

Also, FF, Chrome, etc. don’t really need to worry about being backwards compatible because they’re largely standards compliant right from the beginning.

Indeed they do, which is why companies using intranets etc designed for IE6 don’t tend to use other browsers!

They have. IE9 should render to standards mode by default.

Note to all:

Please keep the thread on topic as it seems to have veered away from the original question.

i.e.

IE9 forces the child page to the same DOCTYPE as the parent page