Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2009, 11:20
Аспирант
Отправить личное сообщение для 13rust Посмотреть профиль Найти все сообщения от 13rust
 
Регистрация: 26.07.2009
Сообщений: 37

Влияние Doctype на работу JavaScript
Здравствуйте. Столкнулся с проблемой: с таким указанием
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

мой скрипт работает,
а с таким
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

работать перестает, пишет что-то насчет неправильного указания ширины, высоты с помощью js.
Может, кто подскажет, в чем дело?

Последний раз редактировалось Octane, 12.11.2009 в 11:31. Причина: делайте информативные заголовки тем, оформляйте свой код с помощью тегов [html] и [js]
Ответить с цитированием
  #2 (permalink)  
Старый 12.11.2009, 11:42
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Есть разница в работе JavaScript, когда браузер находится в Quirks Mode и Standards Compliance Mode. В эти режимы браузеры переходят в зависимости от того, поддерживается ли указанный DTD, а так же переходят в Quirks Mode, если DTD вообще нет.

http://www.fastcoder.org/articles/?aid=825
http://pepelsbey.net/pro/2008/09/ie-street-magic/

Для определения, в каком режиме находится браузер, можно использовать свойство compatMode объекта document:
document.compatMode == "BackCompat" // Quirks Mode
document.compatMode == "CSS1Compat" // Standards Compliance Mode

Последний раз редактировалось Octane, 12.11.2009 в 11:47.
Ответить с цитированием
  #3 (permalink)  
Старый 12.11.2009, 11:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Короче говоря, всегда единицы указывайте (px), когда стили устанавливаете.
Ответить с цитированием
  #4 (permalink)  
Старый 12.11.2009, 11:57
Аспирант
Отправить личное сообщение для 13rust Посмотреть профиль Найти все сообщения от 13rust
 
Регистрация: 26.07.2009
Сообщений: 37

Не подскажите, какие существенные изменения в абсолютном позиционировании, указании ширины, высоты, top, left? То есть скрипт перестал работать вообще. Может obj.style.width = ... или obj.style.top уже не работают? Или где можно прочитать про именно различия в css и js в этих режимах?
Ответить с цитированием
  #5 (permalink)  
Старый 12.11.2009, 12:39
Аспирант
Отправить личное сообщение для 13rust Посмотреть профиль Найти все сообщения от 13rust
 
Регистрация: 26.07.2009
Сообщений: 37

Kolyaj, просто огромнейшее спасибо. Когда полностью отлаженный скрипт при переносе на сайт не заработал никак, было довольно неприятно)
Ответить с цитированием
  #6 (permalink)  
Старый 24.11.2009, 21:27
Новичок на форуме
Отправить личное сообщение для D1mka Посмотреть профиль Найти все сообщения от D1mka
 
Регистрация: 24.11.2009
Сообщений: 1

Привет всем, сейчас столкнулся с тем что у меня тоже трабла с доктайпом, но была только в файерфоксе. Решилось тем что имя функции не должно содержать заглавных букв. Как только все маленькие стали все заработало.
Ответить с цитированием
  #7 (permalink)  
Старый 24.11.2009, 21:51
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от D1mka
имя функции не должно содержать заглавных букв
Неправда
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript developer, ищу работу, удаленно. aiky Работа 1 15.03.2013 17:59
Зависимость JavaScript от doctype Kolyaj Общие вопросы Javascript 2 27.10.2009 21:47
!doctype влияет на работу яваскрипт?! Sha Общие вопросы Javascript 3 21.09.2008 21:37