I think these lines will strike at the heart of everyone who has ever tried to do typesetting and knows what cross-browser compatibility is. For those who are less familiar with the topic, the following part of the text is presented.
The share of Internet Explorer in the browser market
is about 80% , moreover, a year ago it was at the level of 90%. This is the most popular browser. Why? Is he the most comfortable? Most of those who have ever used other browsers do not think so. Is he the safest? Information IT agencies are teeming with messages about “another hole in IE”. This is a fact with which even the most persistent will agree. Is it functional? In terms of functionality, only Firefox with plugins can surpass Opera. So why?
Yes, it's all the
same - it is turned on by default in Windows OS and Microsoft, which is heated on the rest of the woods, occupies a leading position in the market. Most users simply do not represent an alternative, Internet Explorer is the Internet, there is no other need. Well, the lyrics aside - the article is not about that.
Use and enjoy, what's the problem? Interfere with someone? Do not laugh, please: “Yes! You are interfering! Namely, you greatly complicate the life of website developers, including JavaScript / AJAX, to developers and layout designers.
')
The fact is that IE is not only awfully inconvenient, the most insecure, slow, non-functional browser, but it also does not support standards. In an interesting way you can read about it
here . For all browsers, the same HTML / CSS code is written, and logically, all of them should display and execute it in the same uniform way so that there is no confusion. To do this, there is the organization "W3C Consortium", which is precisely that and is engaged in - standardization of technology, a description of where and how it should behave. But bad luck, these standards at least try to support all popular browsers: Firefox, Opera, Konqueror, Safari, but not IE. Not IE, whose share is 80%! What we get in the end? On the example of layout. We need to achieve a uniform display of xHTML / CSS code in browsers. It is not so difficult to do, because if the layout is displayed correctly in Firefox, then with a 95% probability, it will also be displayed in Opera. In IE - all goes to hell. Fix it in IE - breaks in other browsers. So, cross-browser compatibility is in fact called the ability to make a layout such that it is consistently displayed in all adequate browsers and in IE at the same time.
In order to at least slightly relax this headache, many ways have been collected, with the help of which you can write a kind of “two codes” for browsers (these are conditional comments - a legalized feature of IE itself, underscores and comments in styles, “* html” and
so on ). Characteristically, these holes change from version to version - some close, others appear, and thus you can write code for different versions of IE. But all this represents a big headache for developers. And there are situations when up to 1/2 of the time spent on the layout, went to ensure the “compatibility” of the layout. There were quite shocking situations when, when the site was submitted to the customer, it did not display an interesting JavaScript menu. As it turned out, he had IE 5.0, his convictions did not help, and before he achieved results, he had to spend a lot of time.
In order not to be unfounded, here are some of the most unpleasant facts for me:
- Up to version 7, min-height, min-width properties are not supported.
Its exclusive understanding of the parameters of padding, margin (http://htmlbook.ru/content/?id=92)
Incorrect percent calculation with absolute positioning
Incorrect understanding of the “overflow” parameter
Misunderstanding of child-parent tag nesting logic with relative positioning
The list goes on - http://www.gtalbot.org/BrowserBugsSection/MSIE6Bugs/ (counted 88 in IE6 and 83 in IE7 non-conformities to standards)
This list is really very large, and wrote here only what came to mind, if you follow the links, you can find dozens and hundreds of other problems: an excellent object model (this leads to the fact that almost all AJAX libraries have two codes: for IE and for browsers that adequately perceive the DOM), another AJAX data transfer method ("window.XMLHttpRequest" in all browsers and "window.ActiveXObject" in IE) and other problems with it, ignorance of the "embed" tag (and replacing it with your own “Object”), and finally the lack of support for translucency in PNG graphics. In fact, the materials can be found on any forum in any way related to Front-end development.
Related Links:
- http://www.gtalbot.org/BrowserBugsSection/
http://cssing.org.ua/2005/11/11/ie-magic/
http://www.positioniseverything.net/ie-primer.html
http://htmlcoder.visions.ru/JavaScript/?30
Although most of the readers, I think, all these facts have long been known, and I don’t say anything new at all, but as an introduction to the problem, I decided to give this educational program. All this greatly complicates the life of developers, and sometimes makes them do exactly double the work, and because the IE browser does not support standards . I spoke about my attitude to such a Microsoft policy in a rather pathetic form here . And with this we need to do something. At least - really want. Now the share of this browser is starting to fall, but it is not known how the process will develop further, and I have a sincere desire to force it, directing it to the direction it is going now - to make its contribution to reducing the share of IE in the browser market.
The main problem is that, sorry for the tautology, the problems of the developers do not concern the users. And in most cases, they are simply not aware of these problems. My idea is to bring these problems in a clear and understandable form: in the form of a manifesto, centralized propaganda, viral transmission, organization of "support" to this movement. To dedicate this site to it, so that there is where to refer for arguing advice on the use of an alternative browser. As practice shows, people are very sympathetic, if lucidly explain the problem. Even far from the web. First of all, to affect those who are able to make the choice themselves, secondly - to do it for others (administrators, extended-users), thirdly - the majority of users. The habit of using good browsers already works quite well on a word of mouth, and it will be even better if the range of broadcasting expands. There are a lot of facts and materials against IE, but there is no organization in order for it to have a result: you need to put everything in a pile, and wrap it in a gift wrapper. In fact, it turns out guerrilla warfare on the side of Google. I ask if this idea can get an active return?
UPD: Those who wish to join, you can write me a personal, to think together about the organization and implementation of this idea.