Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ИЕ - НН, Собираем различия. кому не лень - вперед 
:(
    Опции темы
Cache'Var
Дата 21.9.2004, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 21.7.2004

Репутация: нет
Всего: 1



Простецки начну.

Слои:
ИЕ - <div> (<span>,<почти любой тег>)
НН - <layer> (??)

обращение:
Код

if (document.all) alert(document.all.myId);
if (document.layers) alert(document.layers.myId);



PM MAIL   Вверх
Sardar
Дата 21.9.2004, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
if (document.layers) alert(document.layers.myId);

Я даже не скажу когда я в последний раз видел такую строчку... этого убого браузера уже давно нет... даже в воспоминаниях wink.gif

В соседнем топике выявился прикол с Оперой: если <div> задать: style.display="inline", а затем его скрыть: style.display="none", то слой не исчезнет, если же писать style.display="", то все работает.
Это надо еще проверить smile.gif

Продолжаем


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Cache'Var
Дата 21.9.2004, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 21.7.2004

Репутация: нет
Всего: 1



Сам сказал - сам ищи. smile.gif

Рою и-нет - толком нету ничиго. По косвенным признакам догадаться можно.

Sardar, я те мыло на мыло.ру слал. глянь.
PM MAIL   Вверх
Gold Dragon
Дата 21.9.2004, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



Цитата(Sardar @ 21.9.2004, 20:57)
Это надо еще проверить

Уже упарился smile.gif

Цитата(Sardar @ 21.9.2004, 20:57)
Я даже не скажу когда я в последний раз видел такую строчку... этого убого браузера уже давно нет... даже в воспоминаниях

Всё таки оставить надо, как пример из истории..


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Aliance
  Дата 21.9.2004, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата
if (document.layers) alert(document.layers.myId);

Это не корректно!

Различия (краткий список):
  • NN поддерживает только модель World Wide Web Consortium Document Object Model (W3С DOM);
  • Escape-последовательности: Если пользователь нажимает Enter в поле textarea, IE/Win вставляет два символа: сначала \r, затем \n. Но IE/Mac в этом случаи вставляет только один \r. Netscape 6+ - \n. Navigator4 зависит от ОС: в Win добавляется \r\n, в Mac OS - \r, а в Unix - \n;
  • cookies: IE хранит cookies для каждого домента в отдельном текстовом файле, а NN помещает все в один файл;
  • Обращение к элементу (-ам): В IE - document.all, а в NN - document.getElementById("elemId")
  • Методы, поддерживаемые только NN: atob(), btoa(), etc...
  • Методы, поддерживаемые только IE: toLocalString()*, etc...
*поддерживается NN 6+, но не выполняется доп. оформление

написал, что сходу вспомнил, завтра еще припишу...

_________________________________________________________________________
PS: про то, что название темы должно содержать суть проблемы я вообще не говорю :-)

Это сообщение отредактировал(а) Aliance - 21.9.2004, 22:12
PM MAIL WWW ICQ Skype   Вверх
Се ля ви
Дата 22.9.2004, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Цитата(Aliance @ 21.9.2004, 22:07)
Обращение к элементу (-ам): В IE - document.all, а в NN - document.getElementById("elemId")

Последний метод document.getElementById("elemId") работает со всеми браузерами, поэтому он универсален, а не только для NN. Я его, к примеру, всегда использую.

В IE есть фильтры, эффекты переходов и HTC-технология вынесения функцональности в отдельный файл и присвоения её элементу как стиля. HTA-технология позволяющая писать простые приложения с интерфейсом на HTML и функциональностью, реализованной на JScript.

В IE есть куча "собственных" методов, дублирующих методы DOM, видимо, появившихся раньше и оставленных для обратной совместимости. Нпример, parentElement и childrens[] равнозначны parentNode и childNodes[], но последние работают везде, тогда как первые - исключительно в IE.

В IE очень осложнена поддержка работы с PNG-форматом. В Oper`е и NN - PNG вставляется просто обычной картинкой и прозрачность, если есть, равняется Альфа-каналу картинки PNG. Зато в IE можно так же задать отдельную прозрачность уже в коде (и соответственно, менять её программно из JavaScript).

В IE есть возможность со специального разрешения пользователя доступаться к файловой системе, реестрам, работать с MS-офисом и даже делать и обрабатывать запросы SQL к удалённой базе данных.

В IE есть очень удобная группа свойств inner и outer - Text и HTML, в которых бывает необходимость и которых тяжело реализовать алгоритмически на основании чистой модели DOM (кстати, интересно, надо будет заняться...).

В NN есть интерфейс двустороннего взаимодействия с Java-апплет`ами - т.е. не только выполнять методы и получать значения из апплета - но и апплет может выполнять клиентские скрипты страницы, которая его содержит. NN поддерживает Push-технологию, т.е. серверный сценарий может сохранять соединение и передавать новую версию страницы по собственной инициативе, что позволяет сделать гораздо более удобные чаты, чем для IE...

В NN есть XUL - format, в чём-то альтернативный совмещению HTA и HTC-технологий IE - позволяет собирать функциональные интерфейсы, использующие движок Mozill`ы.

Вспомню ещё - добавлю.

Это сообщение отредактировал(а) Се ля ви - 22.9.2004, 18:36


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Aliance
Дата 22.9.2004, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Се ля ви
Цитата
Последний метод document.getElementById("elemId") работает со всеми браузерами, поэтому он универсален, а не только для NN.

Я говорил, что он не работает в IE? Нет. Я писал методы, только которые поддерживают браузеры. NN только DOM`ский, но не IE`ский. А т.к. W3C DOM распространяется в интернете все больше и больше, браузеры все больше и больше поддерживают его, то, видимо, в скором времени писать будем только на нем...

Из темы следует, что мы ищем различия между IE и NN, Опера тут как оказалась, объясни?! То, что в Опере таблицы меряются по-одному, в др. браузерах по-другому - это легко решается с помощью <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Это сообщение отредактировал(а) Aliance - 22.9.2004, 14:44
PM MAIL WWW ICQ Skype   Вверх
Се ля ви
Дата 22.9.2004, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Aliance
Из этой фразы:
Цитата(Aliance @ 21.9.2004, 22:07)
Обращение к элементу (-ам): В IE - document.all, а в NN - document.getElementById("elemId")

я сделал вывод, что ты считаешь, что getElementById работает только в NN, вот и уточнил. Вообще-то в русском языке предлог "а" означает отрицание, практически является синонимом выражения "в отличае от". Для включения используется предлог "и". Это так, для справки...

Не нравится про Оперу - ладно, удалил, забыли... Просто казалось, что мы под темой подразумеваем вообще все более-менее известные браузеры...

P.S. Я стараюсь писать XHTML-документы для совместимости с XML и облегчением перехода на XSLT-рельсы, поэтому вариант изменения DOCTYPE`а мне, например, не подходит.

Это сообщение отредактировал(а) Се ля ви - 6.10.2004, 11:32


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Aliance
Дата 23.9.2004, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата
Я стараюсь писать XHTML-документы

Цитата
поэтому вариант изменения DOCTYPE`а мне, например, не подходит

А так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">

PM MAIL WWW ICQ Skype   Вверх
Се ля ви
Дата 1.10.2004, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Различия в реализации DOM - если между двумя тегами есть перенос строки/пробел/табуляция - в NN это считается отдельным текстовым нодом, тогда как в IE необходимо чтобы там был именно текст. Модель IE для работы с HTML удобнее, а NN - правильная и соответствует W3C DOM.

Для обхода рекомендую проверять ноды на принадлежность к типу "Element" выражением:
Код
( this.previousSibling.nodeType == 1 ?
   this.previousSibling :
   this.previousSibling.previousSibling
).style.visibility = 'visible';
- этот фрагмент кода покажет элемент, предшествующий текущему и в NN и в IE (и в Oper`е тоже - там используется реализация как в NN - тока тсссс!.. :-) Aliance не говорите!..).

Это сообщение отредактировал(а) Се ля ви - 6.10.2004, 11:33


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1542 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.