Категория: Windows: Браузеры
October 14, 2013
Internet Explorer (сокращенно MSIE или IE) представляет собой серию графических браузеров, разработанных Microsoft и являющихся частью операционных систем "Виндовс", начиная с 1995 года. Впервые он был выпущен как часть дополнительного пакета Plus! для Windows 95. Более поздние версии были доступны для свободного скачивания, выпускаясь одновременно с операционной системой.
Браузер MSIE является одним из наиболее широко используемых приложений, достигнув пика своей популярности в течение 2002 и 2003 годов. Его распространение слегка сократилось с запуском Safari (2003), Firefox (2004) и Google Chrome (2008), каждый из которых начал занимать значительную долю рынка.
С момента первого релиза приложения компания Microsoft продолжает вводить дополнительные функции и технологии. Таковой является XMLHttpRequest (MSIE 5 и выше), которая способствует созданию динамических веб-страниц, а также поддержка многоязычных доменных имен (в седьмой версии), позволяющая просматривать сайты с названием из нелатинских символов.
Последний широко применяемый релиз, Internet Explorer 10, обладает новым интерфейсом, который позволяет использовать браузер как в обычной среде, так и на сенсорных экранах устройств.
Различные версии MSIE для других операционных систем также выпускались, в том числе для Xbox. Поддержка IE для Mac и UNIX (Solaris и HP-UX) была прекращена.
Internet Explorer был разработан, чтобы просматривать широкий спектр веб-страниц и обеспечивать определенные функции в операционной системе, в том числе загружать обновления от Microsoft. Во времена активной конкуренции приложений "Эксплорер" заменил Netscape, как только смог технологически поддерживать изменяющиеся требования.
Помимо основных выполняемых функций, браузер MSIE ввел собственные расширения для многих стандартов, включая HTML, CSS и DOM. Причиной послужило появление ряда веб-страниц, не соответствующих общепринятым стандартам. Для того чтобы открыть их, был разработан режим совместимости.
Так, браузер MSIE ввел ряд расширений к DOM, которые использовались в других программах. К ним относятся Innerhtml (обеспечивает доступ к HTML-строке в элементе), XMLHttpRequest (позволяет посылать HTTP-запрос и получать соответствующий ответ) и DesignMode (предоставляет широкие возможности редактирования текста HTML-документов).
Другими нестандартными расширениями можно назвать поддержку вертикального текста и различных графических эффектов, использование JScript.Encode и шрифтов СРВ в веб-страницах.
Кроме того, MSIE браузер имеет и свой собственный плагин – фавикон (от английского сокращения «избранное изображение»), который сегодня поддерживается в других приложениях. Его суть заключается в том, что веб-страница может иметь собственное изображение размером 16 на 16 пикселей, используемое в закладках. Первоначально поддерживался только формат ICO, однако в наши дни распространены другие типы графических файлов, в том числе PNG и GIF.
Браузер MSIE использует стандарты, предоставляемые Windows по умолчанию. Приложение имеет также пользовательский интерфейс для FTP, весьма похожий визуально на "Проводник Виндовс". Начиная с шестой версии, в функционал добавлена блокировка всплывающих окон и поддержка вкладок. Кроме того, можно добавить режим вкладок и в предыдущие дистрибутивы программы, установив соответствующее обновление.
Windows Internet Explorer (сокращённо MSIE или IE) — серия браузеров, занимающая первое место по числу пользователей (76,04 %). Ранее назывался Microsoft Internet Explorer.
Разрабатывается корпорацией Microsoft начиная с 1995 года и входит в состав линейки операционных систем Microsoft Windows. Internet Explorer является наиболее широко используемым web-браузером начиная с 1999 года, достигнув в 2002-2003 гг. по этому показателю своей максимальной отметки в 95%. На сегодняшний день наиболее последней стабильной версией браузера является Internet Explorer 7.0, который можно свободно загрузить с сайта Microsoft с 18 октября 2006 года года; она же входит в состав Windows Vista.
Internet Explorer 7 имеет вкладки, блокировщик всплывающих окон, фишинг-фильтр, встроенный RSS-агрегатор, поддержку интернациональных доменных имён, средств групповой политики и возможность автообновления через Windows Update. Windows-версия браузера основана на движке Trident, который поддерживает стандарты HTML 4.01, CSS Level 1, XML 1.0 и, DOM Level 1 и частично CSS Level 2 и DOM Level 2, также имеет возможность подключения расширений, что реализуется через объектную модель компонентов (COM).
Последними версиями Internet Explorer для Mac OS и Unix-подобных систем были Internet Explorer 5.2.3 и Internet Explorer 5.0 SP1 Beta соответственно. В настоящий момент разработка Internet Explorer для этих систем прекращена. Однако в настоящее время имеется возможность запуска Internet Explorer на операционных системах, отличных от Microsoft Windows, используя реализацию WinAPI Wine, но без поддержки технологии ActiveX.
Начинающие веб-программисты рано или поздно сталкиваются с тем, что их скрипт, любовно написанный (или позаимствованный) и прекрасно работающий на домашнем компьютере с MSIE 5.5, почему-то не работает у соседа или клиента на его Opera, Mozilla или Netscape.
Цель настоящей статьи - рассмотреть имеющиеся различия в DHTML-объектах и функциях у нынешних браузеров. Предполагается, что читатель уже более-менее знаком с программированием по крайней мере под один из браузеров.
Оглавление Определение браузераБраузеров и их версий довольно много, но многие из них не различаются между собой пониманием DHTML. Поэтому есть смысл разбить их на несколько групп, названных по наиболее распространенному представителю. Проверять на принадлежность к той или иной группе будем через поддержку испытуемым браузером тех или иных объектов:
Договоримся, что в этой статье мы рассматриваем следующие DHTML-браузеры:Таким образом, фразу "это работает в MSIE " следует понимать, как "это работает в MSIE версии 4 и выше" или, короче, MSIE 4+.
Окна и документыВ разных браузерах по-разному вызываются такие свойства, как размеры окна, размеры документа, показатели прокрутки и т.д.
Размеры рабочей области окна Координаты верхнего левого угла рабочей области окна Размеры содержимого документа Прокрутка (scrolling)В MSIE в документе должен присутствовать тег <body></body>. иначе document.body может быть не определено.
Доступ к формамВ MSIE такой код прекрасно работает:
Но в 4 -ом Netscape этот код выдает ошибку. Там нельзя так обращаться к формам. Необходимо писать document.myform.mytext.value="hello" - это будет работать и там, и там. Чтобы избежать возможных конфликтов имени формы с другими объектами document лучше писать document.forms.myform.mytext.value или document.forms["myform"].elements["mytext"].value. Последняя запись рекомендуется в случаях, когда имя формы или ее элемента могут содержать недопустимые для имени переменной в JavaScript символы.
Формы и MozillaВ Mozilla лучше не обращаться к элементам страницы (особенно формам) до наступления события onload .
<select> и NetscapeВ Netscape у объекта select нет свойства value. Для выбора нужного option пользуйтесь проверкой select .options[n ].value и установкой соответствующего select .selectedIndex. Пользоваться select .options[n ].selected=true/false не рекомендуется из-за проблем с Opera (см. далее).
<select> и OperaВ Opera старых версий (напр. 5.10. в отличие от, к примеру, 5.12 ) нельзя выбрать опцию select через select .options[n ].selected=true. Вместо этого нужно писать select .selectedIndex=n .
Доступ с картинкам, т. е. объектам, создаваемым тегом <img>. осуществляется через коллекцию document.images[]. Но у Netscape 4 есть особенность в вызове картинки, если она вставлена в слой (см. ниже ).
Если в MSIE. Mozilla (он же Netscape 6 ) и Opera 7 слоем может быть любой элемент страницы, то в Netscape 4 и Opera 5, 6 это обычно контейнер <div></div> с определенным стилями absolute или relative расположением. Некоторые рекомендуют использовать в Netscape 4 тег <layer>. т. к. он лучше понимается Нетскейпом. Поэтому те случаи, когда <div> и <layer> в 4-ом Netscape ведут себя по-разному, возможно, я рассмотрю в одной из будущих статей. Но эти случаи достаточно редки и специфичны и связаны с глюками в форматировании содержимого слоев.
В Netscape 4 не используйте в именах классов (class= ) и идентификаторов (id= ) символ подчеркивания "_ ", в противном случае Netscape не увидит этого элемента.
Доступ к слоюДоступ к слоям по-разному осуществляется в разных браузерах. А именно:
Можно порекомендовать такую функцию:
С доступом к слоям в Netscape 4 имеется один аспект. От связан с вложенными (nested) слоями, т. е. со слоями, которые описаны внутри контейнеров другого слоя. Пример (предполагается, что в CSS для тегов <div> задано допустимое свойство position ):
Если в MSIE можно вызвать слой "cool " через document.all["cool"]. то в Netscape 4 document.layers["cool"] вернет undefined. Для вызова вложенного слоя придется написать такую конструкцию:
То же самое касается и адресации других объектов, находящихся внутри слоя - картинок, форм, ссылок и т.д.
Стало быть, нашу функцию можно модернизировать таким образом:
Теперь мы можем обратиться к нашему слою "cool " так: layer("cool","mylayer") или вообще layer("cool"). но последний вариант будет более "тормозным", т. к. компьютеру придется обходить всё дерево слоев до искомого. Похожее соображение приводит к тому, что логично единожды вызвать слой - var mylayer=layer("xxx"). а потом использовать переменную mylayer для дальнейшей работы со слоем.
С картинками, вставленными в слой, в Netscape 4 дело обстоит так же. Картинки в слое не входят в коллекцию document.images[] корневого документа, они принадлежат коллекции document.images[] этого слоя. Пример - у нас есть слой "layer", в нем есть картинка "image". Чтоб поменять у этой картинки src. пишем:
Доступ к CSS-свойствам слояДоступ к CSS-свойствам слоя (расположение, видимость и т.д.) также по-разному осуществляется в разных браузерах. В MSIE 4 и DOM1-браузерах доступ к свойству осуществляется через объект .style. Пример (используется уже определенная нами функция вызова слоя):
В Netscape 4 у слоя нет поля style. доступ к свойствам осуществляется непосредственно:
Можно заметить, что даже значение, которое нужно присвоить свойству .visibility. разное у разных браузеров. Хотя более новые версии 4-ого Netscape поддерживают не только "show" /"hide". но и "visible" /"hidden". как и MSIE.
Для доступа к стилям можно порекомендовать такую функцию:
Вместе с которой наш пример сократится до layerStyle(layer("mylayer")).visibility=isNetscape4?"hide":"hidden"
Надо, правда, отметить, что приведенный мной пример выглядит несколько громоздким. Это связано с тем, что он, не обладая большой практической пользой, призван лишь проиллюстрировать работу со слоями в разных браузерах. Но вы можете познакомиться с более аккуратно написанной мною же объектно-ориентированной библиотекой DHTML-функций KLayers .
Различия в CSS-свойствахХочу повторить, что доступ к CSS-свойствам по-разному осуществляется в разных браузерах.
Видимость слоя (visibility)Кроме видимости, в CSS есть еще "отображаемость" - display. От visibility он отличается тем, что невидимый (visibility="hidden" ) слой продолжает занимать место, а неотображаемый (display="none" ) места не занимает, словно его просто нету. В Netscape 4 динамически (т. е. скриптом) менять display нельзя.
Цвет фона слояПозволяет сделать только часть слоя видимой. Может применяться для эффектов "распахивания", "выползания" или "скроллинга".
Для реализации прокручиваемого текста в новых браузерах (MSIE, Mozilla, Opera ) удобно применять css-свойство overflow: hidden. Можно создать блок с overflow: hidden и фиксированными размерами, а внутрь его вложить другой блок, который и будем прокручивать. Для прокрутки достаточно менять ему .style.left и top (или .style.pixelLeft. pixelTop в Opera ). В Netscape 4. само собой разумеется, для прокрутки слоя придется пользоваться свойством clip.
Не CSS-свойстваУ слоев есть свойства, которые не определяются CSS. Это, к примеру, получившиеся габариты слоя, которые зависят от количества текста, помещенного в нем. Обращаться к этим свойствам надо минуя .style. т. е. просто layer .свойство .
Текущие координаты верхнего левого угла слоя на страницеВ DOM1 -браузерах (MSIE, Opera, Mozilla ) в случае вложенных слоев, т. е. когда слой вложен в другой слой, координаты .offsetLeft и .offsetTop отсчитываются относительно родительского слоя. Для получения ссылки на родительский элемент существует свойство .offsetParent. Можно пройтись по цепочке offsetParent ов, суммируя их координаты, пока не дойдем до самого верхнего родителя - document.body.
Текущие размеры содержимого слоя Изменение содержимого слоя Запись в слойИз-за проблем с MSIE 4 не следует вызывать .innerHTML до наступления onload страницы.
В Netscape 4 есть глюк с записью русских букв в слой. Они превращаются либо в символы кодировки western, либо в знаки вопроса (". "). Решение этой проблемы может быть достигнуто через использование загрузки в слой другого документа (см. далее). В слой загружается документ с корректно выставленным charset, а потом в него печатается через document.write нужный текст.
Подгрузка другого документа в слойВ Netscape 4 слои имеют атрибут и свойство src. а также метод .load(url ). Это позволяет записывать в слой содержимое любого документа.
В MSIE. Mozilla и Opera вместо этого есть тег <iframe>. который позволяет достичь похожих результатов. Однако целью данной статьи не является подробное рассмотрение этого решения. Скажу лишь, что этот <iframe> делается невидимым с помощью CSS, в него подгружается искомый документ и, после его загрузки, содержимое <iframe> записывается в нужный слой через .innerHTML.
В Opera 5, 6 будут проблемы, т. к. в ней нельзя ни загружать ничего в слой, ни писать в него.
Динамическое создание слоев через document.write в Netscape 4В Netscape 4 будет ошибкой создавать слои (или просто теги со стилевым атрибутом style ) таким образом:
Почему-то Netscape 4 не переваривает указание стиля для печатаемого через document.write тега. Рекомендуется вынести стили во внешний отдельный тег <style>.
Также можно воспользоваться указанием на class. а не id тега.
Отслеживание событий мыши, как основного средства управления просмотром веб-страниц, имеет большое значение.
Координаты мышиЧасто бывает нужно узнать текущие координаты курсора мыши на странице, вне зависимости от того, на каком из элементов документа она находится. Создадим функцию, которая будет при событии перемещения мыши помещать в глобальные переменные mousex и mousey текущие координаты курсора относительно документа.
Вот как это делается в различных браузерах:
[16 октября 2003]
Этот текст написан Кругловым С. А. Воспроизведение в сети не приветствуется. Подумайте сами - вот скопируете вы этот документ к себе на страницу, а завтра я какие-нибудь дополнения в оригинал внесу. И будет у вас старье висеть. При воспроизведении ссылка обязательна. Изложенное здесь является личным мнением либо личными наблюдениями автора. Автор не несет ответственности за возможный ущерб, вызванный применением положений данной статьи. Вместе с тем он надеется, что его труд будет для вас небесполезен. Если есть замечания или предложения - пишите.
16.08.1999
Любой современный браузер умеет работать через прокси-сервер. Однако для этого ему нужно сказать о существовании этого прокси-сервера. Если же у прокси-сервера изменится имя или номер порта, то на всех браузерах придётся менять настройки. В Netscape Navigator 2.0 и Microsoft Internet Explorer 3.02 появилась возможность автоконфигурации прокси-сервера. Браузеру просто задаётся URL, по которому он находит файл автоконфигурации, написанный на JavaScript. Это удобнее, чем явное задание адреса прокси-сервера, но, тем не менее, и этот URL может измениться. Как выход, можно использовать прозрачное проксирование. описанное Алексеем Тутубалиным. но я всё же предпочитаю совместно с прозрачным проксированием использовать автоконфигурацию браузеров, поскольку последняя позволяет более гибко настраивать браузер.
Но наука, как известно, не стоит на месте последние клинические исследования доказали, что люди, пользующиеся MSIE 5.0. быстрее настраивают прокси-сервер, потому что в MSIE 5.0 появилась возможность вообще свести конфигурацию браузера до минимума браузер будет сам искать URL автоконфигурации прокси-сервера. Для этого нужно установить чекбокс Connections/ LAN Settings/ Automatically detect settings и тогда при загрузке MSIE 5.0 ищет хост wpad и если таковой нашёлся, то он пытается загрузить с него файл /wpad.dat. в котором ожидает увидеть всё ту же автоконфигурацию, написанную на JavaScript. Поэтому в DNS достаточно внести строку для wpad. и MSIE 5.0 будет загружать автоконфигурацию по адресу http://192.168.1.1/wpad.dat.
Более подробно Вы можете прочитать в черновом варианте описания протокола Web Proxy Auto-Discovery. Кроме того, описание этого метода появилось и в Squid FAQ.
В черновике помимо способа с DNS описан ещё один обязательный способ конфигурации с помощью DHCP, однако мне его завести не удалось, хотя гадание на потрохах wininet.dll (а именно там находится поддержка WPAD), идущего в комплекте с MSIE 5.0. показало, что он вроде бы должен пониматься. Я записал в файл конфигурации dhcpd.conf строку но MSIE 5.0 продолжал загружать файл wpad.dat. несмотря на то, что все параметры TCP/IP настраиваются через DHCP.
Обновление. 18.05.2002
Кроме MSIE 5.x и 6.0, WPAD понимает Konqueror, начиная с версии 2.2.0. Работает по крайней мере способ конфигурации через DNS.
Андрей Завьялов, jerom+wpad at gambit.com.ru, сообщает, что ему удалось настроить MSIE 6.0 под Windows XP через DCHP. В конфигурации isc-dhcpd3 он указал две строки: Хоста с именем wpad при этом не было вообще и параметры TCP/IP в Windows настраивались через DHCP. При загрузке Windows проходили пакеты DHCPREQUEST/DHCPACK без WPAD, а затем при загрузке MSIE пакеты DHCPINFORM/DHCPACK с WPAD.
MSIE — Windows Internet Explorer Entwickler: Microsoft Corporation Aktuelle Version: 8.0.6001.18702 (19. Marz 200 … Deutsch Wikipedia
MSIE — Internet Explorer Windows Internet Explorer Developpeur Microsoft Derniere version … Wikipedia en Francais
MSIE — abbr. MicroSoft Internet Explorer (MS, WWW, MSIE) comp. abbr. Microsoft Internet Explorer (Microsoft) … United dictionary of abbreviations and acronyms
MSIE — Microsoft Internet Explorer (Computing » Networking) * Master of Science in Internet Engineering (Academic & Science » Academic Degrees) * M S I Electronics, Inc. (Business » NASDAQ Symbols) … Abbreviations dictionary
MSIE — Microsoft Internet Explorer … Medical dictionary
MSIE — Microsoft Internet Explorer PC basierter WWW Browser mit proprietaren Erweiterungen, (zeitweilig) integriert in Windows95, portiert auf &UNIX und Mac (vergl. Netscape, Amaya, Lynx) … Acronyms
MSIE — ? >en sg. np. m. >WEB>MS>APPLI MicroSoft Internet Explorer. navigateur produit par Microsoft pour contrer Netscape. Il est agreable a utiliser, mais son integration au systeme en fait un gouffre de securite beant, en plus d exciter les… … Dictionnaire d'informatique francophone
MSIE — Microsoft Internet Explorer PC basierter WWW Browser mit proprietaren Erweiterungen, (zeitweilig) integriert in Windows95, portiert auf &UNIX und Mac (vergl. Netscape, Amaya, Lynx) … Acronyms von A bis Z
MSIE — Microsoft Internet Explorer. Browser von Microsoft, der gangigste neben dem Navigator von Netscape. Browser, Navigator, Opera … Online-Worterbuch Deutsch-Lexikon
msie — microsoft s internet explorer … Glossary of chat acronyms & text shorthand
MSIE — Windows Internet Explorer Entwickler: Microsoft Corporation Aktuelle Version: 8.0.6001.18702 (19. Marz 200 … Deutsch Wikipedia
MSIE — Internet Explorer Windows Internet Explorer Developpeur Microsoft Derniere version … Wikipedia en Francais
MSIE — abbr. MicroSoft Internet Explorer (MS, WWW, MSIE) comp. abbr. Microsoft Internet Explorer (Microsoft) … United dictionary of abbreviations and acronyms
MSIE — Microsoft Internet Explorer … Medical dictionary
MSIE — Microsoft Internet Explorer PC basierter WWW Browser mit proprietaren Erweiterungen, (zeitweilig) integriert in Windows95, portiert auf &UNIX und Mac (vergl. Netscape, Amaya, Lynx) … Acronyms
MSIE — ? >en sg. np. m. >WEB>MS>APPLI MicroSoft Internet Explorer. navigateur produit par Microsoft pour contrer Netscape. Il est agreable a utiliser, mais son integration au systeme en fait un gouffre de securite beant, en plus d exciter les… … Dictionnaire d'informatique francophone
MSIE — Microsoft Internet Explorer PC basierter WWW Browser mit proprietaren Erweiterungen, (zeitweilig) integriert in Windows95, portiert auf &UNIX und Mac (vergl. Netscape, Amaya, Lynx) … Acronyms von A bis Z
MSIE — Microsoft Internet Explorer. Browser von Microsoft, der gangigste neben dem Navigator von Netscape. Browser, Navigator, Opera … Online-Worterbuch Deutsch-Lexikon
msie — microsoft s internet explorer … Glossary of chat acronyms & text shorthand
Description: Contains flags for the useragent, read from navigator.userAgent. This property was removed in jQuery 1.9 and is available only through the jQuery.migrate plugin. Please try to use feature detection instead.
version added: 1.0 jQuery.browserThe $.browser property provides information about the web browser that is accessing the page, as reported by the browser itself. It contains flags for each of the four most prevalent browser classes (Internet Explorer, Mozilla, Webkit, and Opera) as well as version information.
Available flags are:
This property is available immediately. It is therefore safe to use it to determine whether or not to call $(document).ready(). The $.browser property is deprecated in jQuery 1.3, and its functionality may be moved to a team-supported plugin in a future release of jQuery.
Because $.browser uses navigator.userAgent to determine the platform, it is vulnerable to spoofing by the user or misrepresentation by the browser itself. It is always best to avoid browser-specific code entirely where possible. Instead of relying on $.browser it's better to use libraries like Modernizr .
Microsoft released Internet Explorer 3.0 on August 14, 1996. It is the first commercial browser that supports CSS. This is a major step forward for style sheets on the web. This page contains pointers to sample documents and points out some remaining holes in the CSS implementation. The latter will be useful for people who want to start writing style sheets.
Sample documentsWhile MSIE3 can claim support for CSS, there are bugs and limitations. Below you will find prioritized lists of missing functionality and bugs. Braden N. McDaniel has also published his list of holes.
Missing functionalityLast updated September 1, 1996