📜 ⬆️ ⬇️

Internet Explorer 9 - the most comprehensive developer guide (and not only)

image
Internet Explorer is known to be a browser that is updated infrequently. One can argue for a long time why this is happening and whether it is correct or not. However, you can definitely say something else - the functions that appear in Internet Explorer are worth the closest attention of developers. This happens simply because IE itself and its functions are mainstream and, as a rule, at the time of release they are implemented in most other browsers that tend to be on the verge of innovation.

There are exceptions, so native support for JSON, support for HTML5 DOM Storage , separation of tabs into processes, HTML 5 Networking Events, and some other things were introduced in Internet Explorer 8 before many other browsers.

In this regard, I believe it is important to know and keep in mind that new functionality that the ninth version of the still most popular browser (but probably not the most functional and convenient) will present.
')

Retreat...


image

I think many people noticed that a special section about Internet Explorer 9 appeared on Habré. This is probably the first such move in runet, aimed at popularizing innovations in the browser. In the section on Habré, you can familiarize yourself with the tests from the IE9 team in Russian and test them right away without leaving Habr. It also provides useful links and the ability to install a browser on your machine. Try it.

Introduction


Instead of introducing, I would like to talk about the current state of affairs with Internet Explorer 9 and the progress of its creation. The first mention and demonstration of test versions of the browser was held at the PDC conference in 2009. On showed how the browser will accelerate graphics and use the new Direct 2D API for GPU-accelerated text processing and font smoothing.

After that, after some time, information appeared that the IE9 development team was included in the HTML5 and SVG committees and announced their support for these technologies. SVG have been waiting for a long time by many, and I think that this news was joyful.

The following browser phenomenon took place at the MIX conference in 2010. Here we were not only shown the new features, but also at first gave us a try to build the test assembly ourselves. The test version located at http://ie.microsoft.com/testdrive/ is available today in the second version. In addition, the developers have done a lot of work and created many visual demonstrations in order to show the new features that Internet Explorer 9 will bring with them. The developers have promised to issue a new version of IE9 for public testing every 6-8 weeks.

The first test version of IE9 included a lot of new things and, probably, the most important was the GPU-acceleration of graphics and animation based on SVG and JavaScript. The new JavaScript engine called Chakra was pleased with the significant acceleration and overtaking of the main competitor Firefox in the SunSpider test. The ACID3 test as an indicator of standards support began to give 55 points instead of 20 in IE8. Plus, Internet Explorer finally got 100% support for CSS3 selectors.

The second test build of IE9 has brought even more innovations. About them and about all others and will be discussed in this article. Immediately it should be said that the main thing that we will see in the third build in June will be support for HTML5 Video, accelerated with the help of the GPU, which was already demonstrated during MIX10, but has not yet entered the public versions of the browser.

CSS standards support


It has long been known that the Internet Explorer team is not in a hurry to implement open standards until they emerge from the status of drafts. This is due to many reasons, but as I can tell, the main thing is that IE is part of the operating system and any changes made to it must be long-term. This results in the nature of the slow development of browser versions. However, not everyone likes it. Developers always want to be at the forefront of innovation, even if you have to change the code over time due to the changed API. Microsoft obviously cannot afford such actions and has a policy of carefully introducing innovations into the browser.

In this regard, when it comes to support for CSS3, you should look at the following table to figure out which CSS3 modules can be discussed when we talk about their possible implementation in IE9. You can make sure that there are not so many standards with the Candidate Recommendation status. But it can be said with a certain degree of confidence that it is them that Microsoft will implement in its browser. And then there will be several confirmations of this guess.

CSS3 Backgrounds & Borders Module


Internet Explorer 9 brings the long-awaited support for border-radius - rounded corners, which are so loved by users and many designers. The following properties are supported:
Moreover, the developers are proud of the fact that their implementation of the corners is the most accurate and correct among browsers, as can be seen by passing this test with different browsers. For example, which version of 4 browsers do you think is better and more correct?



In addition to these module properties, the developers plan to implement other properties in future test and final versions of IE9.

CSS3 Color Module


Support for this module in the second test version of IE9 is the implementation of the RGBA and the opacity property. Application:

background-color: rgba (255,0,0,0.5);

and

opacity : 40%;

Other properties from this module will be added during development.

CSS3 Media Queries Module


The work of the properties of this module can be found on this test page . In short, this module describes the ability of the browser to apply different CSS code depending on the current size and other display parameters. So in the example, if you reduce the size of the visible window, the appearance will change, including the pictures that will look different in a small window, their miniature appearance will be applied.

Code example:

@media (max-width: 899px) {
#demodescription {
display: none;
}
}

still

@media (min-width: 450px) and (max-width: 950px) {
.placeTitleLong, .bigPhoto, .description {
display: none;
}
}

I will try to make out this IE9 feature in more detail in a separate article.

CSS3 Namespaces Module


Internet Explorer 9 almost fully supports this module, which allows you to define namespaces for CSS. More information about the module in its specification .

CSS3 Selectors


IE9 supports CSS3 selectors by specification and passes the test at http://tools.css3.info/selectors-test/test.html 100%.

image

Internet Explorer 8 passed the test with a much worse result: “From the 43 selectors 22 have passed, 1 are buggy and 20 are unsupported (Passed 349 out of 578 tests)”.

In addition, IE9 contains several selectors that are not defined in the CSS3 specification. These are the pseudo-class : indeterminate (allows you to select controls with implicit state) and the pseudo-element :: selection (allows you to select user-marked markup).

DataURI


Data: URI is not a module in CSS, but is actively used in CSS. Data: URI is supported in Internet Explorer 8 for images. Now, in IE9 Data: URI can be used for the script element in the src attribute.

DOM standards support


Internet Explorer 9 extends DOM Level 2 support and adds support for select DOM Level 3 features.

DOM Core (L2 and L3) and DOM Views (L2)


Added support for DOM Level 2 Core features:
Added support for DOM namespaces and related properties
Developers report support for many properties from DOM Level 3 Core and full support for DOM Level 2 Views .

DOM Level 2 and DOM Level 3 Events


The IE9 team has implemented a standard event handling model that will allow you to drop attachEvent in favor of standard methods:

DOM Level 2 HTML


In IE9, there was the long-awaited support for getElementsByClassName , plus other properties from HTML5, like characterSet . The developers declare significant improvements in the object model of tables, working with forms.

DOM Level 2 Range and HTML5 Selection


IE9 fully supports both APIs for accessing a selection of the page: the DOM L2 Traversal and Range standards and HTML5 Selection . For example, the setSelectionRange method. Or from HTML5: getSelection, selectionStart, selectionEnd .

DOM Level 2 Style


IE9 implements specification support according to the standard, and not through its functions, as it was before. The developers have prepared a page with a test for these functions.

DOM L2 Traversal


IE9 adds support for the following properties of the DOM L2 Traversal and Range specification: NodeIterator, TreeWalker, whatToShow, and NodeFilter. These methods allow you to filter and bypass DOM elements.

HTML5


Some of the features from the HTML5 standard that were introduced in IE9 have already been mentioned above. In addition, it is worth mentioning that IE8 introduced a number of HTML5 features over a year ago: DOM Storage , Cross-document Messaging , Ajax Navigations (the window.location. Hash property).

The developers claim that HTML code parsing in IE9 is already very close to the recommendations in the HTML5 Draft Specification draft.

Generalized elements


Earlier, Internet Explorer considered unknown tags in HTML as extraneous elements and did not consider them, skipping their CSS definition. This led to the following example:

<style type = "text / css">
mydiv {
color: blue;
font-weight: bold;
}
</ style>
...
<p> I am using a <mydiv> generic element </ mydiv> in this sentence. </ p>

It was not displayed in IE8 as the developer expected:



In Internet Explorer 9, developers added support for such generic elements, and now the rendering is performed as the author intended:



Overlapping elements


Previously, Internet Explorer did not support overlapping tags in the way that HTML5 prescribes:
<B> this <i> affects </ b> script </ i>.
When processed in JavaScript, the result might not be what the author intended. Internet Explorer 9 introduced support for such a script according to the HTML5 draft specification.

Changes in parsing blocks style and script


Previous versions of Internet Explorer did not perceive the style and script blocks as part of the DOM tree. In IE9, you get the opportunity to operate such blocks as part of the DOM. This will allow you to access the embedded code as plain text in a tree.

Parsing XHTML


IE9 will parse the document with MIME application / xhtml + xml as XHTML.

Parsing SVG ... instead of concluding


The support of SVG, ICC profiles and GPU-acceleration will be discussed in the second part of the article. In it, I will also tell you about the updates in the tools for the IE9 developer and why the appearance of the test version of IE9 is so unsightly.

Source: https://habr.com/ru/post/94968/


All Articles