Я бы сказал, что это почти наверняка браузер, работающий в режиме совместимости при просмотре локальных URL.
Вы можете проверить это, открыв инструменты разработчика (нажмите F12) и посмотрев в верхний правый угол; если он говорит, что он в режиме IE7, то вы нашли проблему. Переключите его обратно в нормальный режим IE9, и он должен прийти прямо.
IE7 не поддерживает объект DomParser, поэтому, если IE9 находится в режиме совместимости с IE7, естественно, что он также перестанет его поддерживать.
Хорошо, вот что он делает. Но почему он это делает? В IE есть параметр конфигурации (как IE8, так и IE9), который указывает, что браузер должен переходить в режим совместимости при просмотре сайтов в локальной интрасети. Причина существования этого параметра заключается в том, чтобы позволить компаниям, у которых есть внутренние сайты, разработанные для более старых версий IE, обновиться до новой версии, не нарушая эти сайты. Он предназначен для облегчения работы корпоративных типов, которые предпочитают не тратить деньги на то, чтобы починить что-то, когда сломанная версия достаточно хороша.
Но это боль в тылу для всех нас.
Очевидно, что если ваш сайт находится в общедоступном Интернете, этот флаг не будет затрагивать его, за исключением случаев, когда вы пытаетесь работать с ним с локального хоста на своем ПК. Поэтому решение для вас - просто отключить этот параметр конфигурации в браузере и забыть о нем.
Конечно, факт остается фактом, что пользователи IE7 все еще будут иметь эту проблему с вашим сайтом, так как их браузер не поддерживает функцию, которую вы используете. Вы можете просто отказаться от поддержки IE7 и попросить этих пользователей выполнить обновление. Но если вы хотите поддержать пользователей IE7, я считаю, что сценарий Дина Эдвардса IE7.js позволяет браузеру эмулировать эту функцию (наряду с кучей других вещей, которые Microsoft забыла).
Надеюсь, это поможет.