Javascript + IE7 problem

Каждый второй день Internet Explorer заставляет меня ОХРЕНЕВАТЬ. Сегодняшний день – не исключение 🙂

Казалось бы: банальная функциональность:

  • отправка AJAX запроса на сервер
  • получение ответа с сервера (в виде HTML)
  • вставка полученного HTML в документ

В ответе сервера есть примерно такая строчка:

Обратите внимание, что javascript код обернут в конструкцию <!– и //–>
В этом случае наш любимый IE не выведет сообщение (alert не сработает), а консоль ошибок скажет нам: “Syntax error“. Извините, может я чего не понимаю, но в каком тут месте синтаксическая ошибка??
А вот если убрать конструкцию c комментариями, то все работает нормально:

Кто-то может объяснить?

WTF ???

P.S.: Блин, еще и двойные дефисы посъедались… (там их два, так что не обращайте внимание)

P.P.S.: Вот еще оказалось что лучше не пользоваться методом remove() (prototype.js), так как в IE он не всегда работает

  • lcf

    А как по твоему должен поступить интерпретатор джава скрипт обнаружив что код начинается с <– ? Это что за инструкция такая? =D

  • lcf

    правильно вот так:

    //

    Ктоб угодно был бы виноват, лишь бы не мы))

    Вопрос – а зачем понадобилось так делать?

  • lcf

    простите, мой код съели)

  • admin

    Вообще-то такая конструкция – это классика жанра

    http://www.howtocreate.co.uk/tutorials/javascript/incorporate

    но если документ имеет стандарт XHTML, то она заменяются на другую (CDATA) – пример смотри там же

  • lcf

    CDATA нужен для XML валидности, и он предваряется обычно обычными комментариями типа // для того чтобы интерпретатор понял юмор. Насчет такого варианта как ты написал по твоей ссылке сказано что это больше не нужно и было нужно только для браузеров которые могли не вкурить что это скрипт пошел.

    Классика жанра… совершенно не понятные для меня слова. Зачем делать //CDATA я знаю, а зачем делать то что ты сделал продолжаю непонимать. Эксплорер судя по всему тоже. 🙂

    оффтоп: надо допилить блог, чтобы в комментах могли писать теги, в идеале с подсветкой, чтобы у тебя самого двойные дефисы не съедались. ну и смайлы починить. а то что эт за дела. это программера блог или кого? 🙂

  • admin

    Ты же ведь сам программер, и должен знать, что это оооочень ленивый народ…

  • Попробуй заменить апострофы на кавычки. Обычно это ошибка которую трудно заметить.