Differences Between IE6 and IE8 - internet-explorer-8

So far our customers used IE6, so our system is compatible with IE6 only. Now, we want to support IE8 too. What differences are we going to experience while adapting our system to IE8? ( in the context of CSS and JS )
Thanks in advance.

See this, http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/.

http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
If you have coded specifically against IE 6 (working around issues, using non-standard features), it may be a little rough, but IE 8 is infinitely better in terms of stability and standards support.
Along with moving to IE 8, consider supporting other reasonably compliant browsers such as Firefox, Opera, Safari, or Chrome. IE 8 isn't a bad product, but other browsers will "keep you honest" and help you avoid hacks and also expose you to features not supported by IE 8.
It's also worth noting that pretty much any framework you may already be using (if it's still being maintained) will have equal or better support for IE 8. Same goes for any third party components which render HTML/script.
Lastly, I would also spend some time with IE 9 to understand the direction that Microsoft is going with the product. Most IE 8 apps will work fine with IE 9, but there are some subtle differences (mostly fixing/reinterpreting style and layout implementations in IE 8).
Edit: Here's an excellent, free tool I use for running different versions of IE side by side:
http://www.my-debugbar.com/wiki/IETester/HomePage
Here are several things off the top of my head that are non-standard IE extensions. These will probably still work in IE 8, but keep in mind that Microsoft is making a big push towards standards compliance, and they aren't guaranteed to work in the future. Also, other browsers don't support them at all.
Proprietary filter syntax
CSS expressions (I really wish this WAS a standard)
DHTML behaviors (.htc files)
VBScript
Data islands (http://www.w3schools.com/Xml/xml_dont.asp)
HTML Apps (http://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx)
Again, to my knowledge none of these things have been removed from IE 8 but they are all red flags for future maintainability.

Related

It's 2018 and I start to care about Internet Explorer 5.5

I don't know if I should ask this here, but I really need your opinion.
I read and read many online articles about why you should don't care about old Internet Explorer versions (because it is really outdated and insecure etc). I have taken seriously all those articles and I started to don't care about Internet Explorer <= 11 when I redesigned and re-launched my websites.
Now, it's 2018 and I need to re-design my websites and add new features (because I got a lot of user feedback, and I have a lot of exciting ideas). And because I start it from the beginning I want to think again about this. I analyzed my stats and I'm still getting hits from IE8, IE7, IE6 and... IE5.5 (Windows 98 & ME)!
I know these versions are really outdated, insecure, but there are some people using old versions and old operating systems. I know I shouldn't care about these versions, but I really care about my visitors and their experience on my website (maybe there are people who live in the mountains or in poor villages, and they have a dial-up connection - why not?).
If there are such kind of persons, then:
Is there any reason why should I not create my new website to work even in Internet Explorer 5.5?
Why should I not care about webpage size, to be loaded fast even on dial-up or low broadband (Cable, GPRS etc)?
Thank you!
I think it's not generally a bad idea to consider IE when creating a new website, but there are some aspects you must consider.
You should do extra work to support IE, which includes more time and effort in the development. So you must ask yourself, is it really worth it?
Also you might ignore a lot of new APIs and features of JavaScript and CSS, to support older versions of IE. So you are probably affecting user experience of a large amount of your users, for a small section of them which are using IE.
Or you might use some libraries to detect browser support for certain features or using conditional comments (again, extra work to do).
Another solution might be to show a specific page to the IE users and encourage them to use a newer browser, which probably has no effect to a person who is still using IE5 in 2018!
Generally I think there is no complete answer to this question. It really depends on the goal, time and budget of the project.

Is there an if Firefox that is similar to the if IE hack

As I have been learning, I have developed a bad habit of only doing things in chrome. More recently I have started looking at stuff I make in other browsers; it sucks. I have noticed that the positioning in firefox is a little different, safari is basically the same, and IE is a hot mess. For now I am just going to focus on getting things to work correctly in firefox. Is there a sort of if Firefox conditional statement?
There is no equivalent to IE Conditional Comments in Mozilla based browsers like Firefox.
Depending on your server-side platform (if any), you could elect to sniff the browser type and conditionally include different style-sheets. Of course, you want to avoid this as much as possible. Usually by fixing things to work consistently across all browsers, you end up with better, more robust, site that will probably save you time in the long run.
Regarding CSS differences, you might consider starting with a reset CSS, such as the one suggested in Joe's answer, to provide a uniform baseline.
Regarding standardization of HTML and other features between the browsers, you might want to check out modernizer.
I find this script will solve a lot of quirks (minus IE of course) reset.css

AJAX vs ActiveX/Flash for browser-based game

I have been following the usage of JavaScript for the past few years, and with the release of extremely fast scripting engines (V8, SquirrelFish Extrene, TraceMonkey, etc.) the possibilities of JavaScript have increased dramatically. However, the usage share of Internet Explorer coupled with it's total lack of support for recent standards makes me want to drop a bomb on Microsoft's HQ, as it creates a huge amount of problems for any website.
The game will need to be pretty dynamic client-side, with animations and other eye-candy things, but not a full-blown game like those that run directly in the OS using DirectX or OpenGL. However, this might be a little stretch for JavaScript and will certainly feel extremely slow in Internet Explorer (given that the current IE engine can be hundreds of times slower than SFX; gotta see what IE9 will bring), would it be better to just do the whole thing in Flash? I know this means requiring the plug-in AND I have no experience whatsoever with Flash (other than browsing YouTube :P). It also means I can't just output directly from PHP, I would have to use XML or some other format to pass data to it (JSON is directly integrated in JS and PHP can deal with it easily).
Another idea would be to provide an alternative interface just for IE, though I don't know how (ActiveX maybe? or with Flash, then why not just provide it to all browsers) or totally not supporting it and requiring the use of other browsers, although this is plain stupid from a business perspective.
So here am I, wondering what approach to take and thus asking for your advice. How should I build the client-side? AJAX in all browsers, Flash in all browsers or a mix (AJAX for "modern" browsers and something else for the "grandpa": IE).
I recommend a plug-in platform (Flash, Silverlight, or Java) over AJAX. Having a clean layer of abstraction between your game and the client's browser is a big advantage. In any non-trivial AJAX game look forward to endless corner-cases where browsers differ in performance or implementation.
Personally, I think Flash is easy to learn if you are coming from AJAX experience. Flash is currently the most widely installed and proven plug-in for browser games. However, Silverlight and Java are both building momentum. Also, the Unity engine has become a popular choice for commercial browser games.
I think you shouldn't leave Java out of the equation. It's a powerful, fast language, and with Java applets, you can do almost anything. If you want hardware-accelerated graphics via OpenGL, JOGL can do it, even in an applet.
On the other hand, it might not be right for you. But at this early stage, I think you should evaluate all of your options, and since you have no experience with Flash but sound like you've got a bit of programming experience, you might feel more at-home with Java.
I believe the current answer is Flash game.
Alternatives:
Java Applet: getting less and less common those days and it is not commonly installed as a plugin on many computers.
SilverLight: too new and might vary and change in time. not commonly installed on many computers and it's Microsoft (whom tends to change technology every 2 years ...)
JavaScript / AJAX: Still a new kid on the block, it's on the rise it is true with many nice features, but still lack of good cross browser for IE even IE8, can not play sounds internally, still slower than the others, and you don't know where will it evolves.
Eventually probably the best solution for now is Flash development:
Cross platform. Works fast. Long time already alive and have a lot of support.
I hope this answer will change in the next year. Happy Peasach.
Check out Jmonkey. The "plugin" loads if you have Java on your machine. Once it's cached, the next time the visitor goes to the page, it your game loads very quick. Check out their website for demos and see what I mean: http://www.jmonkeyengine.com/
Oh, I forgot to say, it's a 3D scenegraph Java engine. I just tried it again, and it loaded in linux. Looks they've put in some good work.
Don't do it with javascript in the browser. And Flash really can be a pain just because it's closed source and you don't know if you've made a mistake or found a bug - speaking from experience. I'd never want to make another Flash game again.
How about using RaphaelJs , it is a Javascript library that make dinamyc images using SVG, and for IE, it try to make those images using the IE alternative: VML. Im using it on my own WebGame, but i dont really make complex graphics in it. The most complex thing done on RapahelJs was a heath map (20 * 20 tiles ) with a dinamyc opacity slider. An it work with jquery without any problem or configuration!

Differences in IE8 behavior between XP, Vista, Win7?

Is there any significant difference in behavior (HTML, CSS, Javascript, ...) with Internet Explorer 8 on different operating systems?
In other words, will a web page work the same way across IE8+XP, IE8+Vista and IE8+Win7, or are there some significant differences?
(I'm aware that installed plugins and fonts will have an impact, but that's a bit outside my scope at the moment; assuming compatibility mode X-UA-Compatible: IE=8 or edge)
Although The IEBlog contains very useful information, I haven't found this data there - so I'm assuming that there should not be any difference. However, search has turned up this (vague) question: "IE8 on XP: looks great! IE8 on Vista: looks terrible". Will have to check IE8+{XP,V,7} in VM in the meantime.
There are at least 6 versions of MSIE 8 and there are likely differences in layout due to bug fixes in the latter releases. A list of versions is available on Microsoft's support site:
http://support.microsoft.com/kb/969393
MSIE8 on Windows XP is version 8.00.6001.18702 and on Windows 7 is version 8.00.7600.16385.
There are some differences regarding css. When I used two divs, the first floated left and the second overflow:hidden; width:auto; IE8 on windows 7 rendered it correctly whereas IE8 on xp sp2 rendered the second div giving it incorrect width. Wierd!
I have had significant problems on IE8, working from a windows 7 machine I tested the site in IE8 using the standard mode the quirks mode and the IE7 standards mode and had no issues, however my client was using IE8 on an XP machine and told me that there were issues with the layout. I checked the site and it had displayed with significantly different styles.
So yes, there is a difference between IE8 on XP and IE8 on Windows 7.... though I have yet to find out how these differences are happening and how to solve them.
At least Wikipedia claims that Server Name Indication only works in Vista/Win7 versions of IE8. There might be other differences like this - after all, the system libraries IE uses might have differences between the different OS versions.
I also found an other rather stunning difference between IE8 on Vista(64) and IE8 on XP(sp3). The way the value attribute on the button tag is treated.
When you use <button value='10'>calculate 10%</button> the value submitted or extracted with javascript comes up with "calculate 10%" instead of 10 (the result on other major browsers) on older IE browsers (known issue) but also on IE8 on Vista. IE8 on XP on the other hand seems to comply to the standard behaviour the other browsers already embraced. Meaning it actually returns 10. Weird
There are bizarre behavioural differences in IE8 on XP also
for instance when tabbing between input controls in a table layout (think excel)
it wraps when the focus reaches the last visible control - instead of the last control in the row. Luckily I haven't found any serious problems - so customers can still work.
Absolutely different rendering is possible. My project has differents view in IE8+XP and IE8+Win7. In IE8+XP CSS rendering has significant differences with Windows 7.

Is it worth testing the same version of IE on different versions of Windows?

I'm putting together some virtual machines to test different browsers and I'm wondering if there is any compelling reason to be able to test the same version of IE on different versions of Windows. (i.e. IE8 on XP and Vista) I'm mostly talking about testing CSS to make sure it "looks right" across browsers, but if there were major differences in JavaScript I would want to know that too.
Are different versions of IE "generally the same" on different versions of Windows? Thanks!
The time and cost of testing different versions of windows would be better spent in other places. This would be one of the last things I would look at when looking for rendering issues.
I agree with both people who have answered previously, despite the fact that they disagree with one another.
In general, IE will act very largely the same across all versions of windows. However, there can be (and are) some occassional subtle differences. Whether these are important are not is up to you.
For the great majority of websites, I wouldn't bother with it. But for very precise web applications where you're using something like complex javascript, or if you require layout to be correct to the pixel for some reason, then it could be worth it. I'm thinking of cases where people are generating os-type applications in JavaScript where the DOM is really being pushed around, and where exact layout and flawless event-handling is critical.
Yes, I am currently testing something out and have varying results between XP and Vista.
--assuming you already have both platforms.
No, I would stick to testing on the current (IE8) and previous (IE7), unless it is a requirement to support older versions. These browsers should render the same across different versions of windows.
I personally dont bother with IE6, the sooner that is gone, the better
I would think there would be very limited cases where you'll notice a difference in IE between Windows versions. One example where you would is a Google toolbar bug I've seen in IE6 that renders html forms unusable. That bug seems to go away when you upgrade to IE8. But that problem is more Google Toolbar than IE.
Other differences you run into may be security or plug-in related. But in the default IE configurations I don't think you'll see any differences in rendering.

Resources