У меня возникла эта странная проблема, когда мой скрипт Google Maps API не работает, карта не отображается, когда я объявляю DOCTYPE.
Без DOCTYPE я получаю следующее предупреждение, но оно работает и отрисовывается карта:
Ресурс интерпретируется как Другой, но передан с неопределенным типом MIME.
Я понятия не имею, что не так, но я надеюсь, что какой-нибудь волшебник может!
Здесь вы можете увидеть скрипт в действии без DOCTYPE:
[ССЫЛКА УДАЛЕНА, ТАК КАК ОТВЕЧЕН НА ВОПРОС]
...а вот это с DOCTYPE, объявленным как HTML5:
[ССЫЛКА УДАЛЕНА, ПОСКОЛЬКУ ВОПРОС ОТВЕЧЕН]
Исходный код JavaScript довольно длинный, но вы можете найти его здесь:
[ССЫЛКА УДАЛЕНА, ПОСКОЛЬКУ ВОПРОС ОТВЕТЕН]
Но я сделал его общедоступным по адресу http://snipt.org/yZgm2 если кому интересно!
Спасибо за ваше время!
ОБНОВЛЕНИЕ 1:
Итак, похоже, проблема не в моем JavaScript. Но у div-элемента изначально не было ни высоты, ни ширины, и по какой-то причине он работает по-разному с DOCTYPE или без него.
Итак, новый вопрос!
Почему следующая часть кода не работает, когда я объявил DOCTYPE?
var mapElement = document.getElementById(mapOptions['mapid']);
mapElement.style.width=mapOptions['width'];
mapElement.style.height=mapOptions['height'];
ОБНОВЛЕНИЕ 2:
Спасибо @fivedigit и @duncan за указание на проблему с CSS. Простое добавление единицы измерения решило все!
mapElement.style.width=mapOptions['width']+'px';
mapElement.style.height=mapOptions['height']+'px';