Две години и половина след пускането на предишната седма версия и почти осем след появата на шеста версия, днес официално беше пусната най-новата версия на Internet Explorer. Още с появата на първата бета версия IE8 вече издържаше успешно теста ACID2 за поддръжка на CSS2.1. Освен многото поправени бъгове и подобренията в потребителския интерфейс (някои от които просто догонват конкурентите, но други са интересни нововъведения), има много подобрения, касаещи разработчиците:
JavaScript и AJAX
- Увеличен е броя едновременни връзки към един сървър, което намалява времето за зареждане на страниците и възможностите за паралелни AJAX операции;
- Предаване на съобщения между документи от различни домейни чрез postMessage. Документите, получаващи съобщението, се ослушват за събитието onmessage
- Cross-domain Request (XDR) – Вече можете да правите заявки към други домейни чрез обекта XDomainRequest.
- Native поддръжка на JSON – чрез JSON.stringify можете да превърнете обект в JSON низ, а JSON.parse позволява да превърнете JSON низ в обект. Можете да декларирате toJSON метод, за да укажете как точно вашия обект да се трансформира. Освен по-сигурни, тези методи са и по-бързи от eval.
- Поддръжка на W3C Selector API за бързо намиране на елементи в DOM чрез CSS селектори. По този начин се използват възможностите на браузъра за бързо много по-бързо търсене в DOM.
CSS
- Table Layout – вече и Internet Explorer ще поддържа правилно съответните стойности на свойството display. По този начин лесно могат да се създават разположения, разчитайки на способностите на браузъра да работи с таблици, почти като в „доброто“ старо време.
- Data URI – вече можем да вкараме например картинки директно в HTML или в CSS.
- Генерирано съдържание:
- :before и :after – заедно със своъството content може да се постави динамично съдържание преди или след някой елемент.
- counter-reset и counter-increment – автоматично номериране на елементи в документа.
- quotes – генериране на специфичните за езика на страницата отварящи и затварящи кавички.
- outline свойството позволява да оградите елемент с контур, без да променяте размера му.
- Поддръжка на нови за Internet Explorer псевдо-класове:
- :lang(C) – правилата ще важат само за елементи със съответния lang атрибут, указващ, че съдържанието е на даден език.
- :focus – задайте стил на елементите, когато получат фокус.
Ето и списък с всички подобрения в поддръжката на CSS.
Инструменти за разработка
- CSS Tool – преглед на правилата от различните набори стилове, заредени от страницата
- Script Debugging – истински, макар и олекотен дебъгер.
- Script Profiler – показва визуално къде точно се бави изпълнението на скритове.
- Version Mode Switching – превключване към различни начини на изобразяване на страницата за да оцените евентуалните проблеми в по-стари версии.
След разгорещени дискусии около първоначално обявената идея на Microsoft IE8 да работи като IE7, освен ако в документа няма специален мета таг, от Редмънд решиха да се вслушат в общността на разработчиците и да направят подразбираща се машината на IE8 за рендване на страниците. Но в последстие взеха едно доста спорно решение – ако потребителят реши, че дадена страница се вижда по-добре в IE7 и щракне бутона за compatibility view в осмицата, не само той, но и всички останали ще виждат тази страница по този начин. Единствения начин да накарате отново IE8 да показва страницата както трябва е да добавите онзи нарочен мета таг.
Освен новата версия на IE, наскоро но Microsoft пуснаха и един особен инструмент за проверка на страниците в различни браузъри – SuperPreview. Предназначението му е да тествате едновременно изгледа на страницата в различни браузъри, като безплатната бета версия поддържа само IE6 и IE8, а платената ще поддържа и други браузъри, инсталирани на потребителската машина. Пробвах го това чудо и не мисля, че ще ми свърши много работа, а ето и част от един коментар по повод тестването за IE6:
Why do we still have to worry about that piece of junk? Now I know you will start throwing browser statistics at me. Guess what, the numbers won’t change unless some people do something. Don’t you see your important role as being a part of those “some people”? Don’t you see your big responsibility in this “something” to do? You know, you are all aware of what is going on and what to do. Yet you can’t take the next step, you can’t say “I don’t design/develop for ie6″. Instead, you download that software, fix the parts of your design that sucks on ie6 and you will feed the monster with your own hands.
You know, we are almost sure that MS will keep making operating systems that will always have major faults, people won’t see a point in upgrading, the very people will have no idea about “what a browser is” and I am afraid we will be helping our grand children about dealing with ie6 box model crap.. But hey, at least it will be easier with SuperPreview!
Етикети: IE, IE8, SuperPreview, браузъри