Каждый второй день Internet Explorer заставляет меня ОХРЕНЕВАТЬ. Сегодняшний день - не исключение :)
Казалось бы: банальная функциональность:
- отправка AJAX запроса на сервер
- получение ответа с сервера (в виде HTML)
- вставка полученного HTML в документ
В ответе сервера есть примерно такая строчка:
<script type=“text/javascript”> <!– alert(‘Data has been saved’); //–> </script>
Обратите внимание, что javascript код обернут в конструкцию <!– и //–>
В этом случае наш любимый IE не выведет сообщение (alert не сработает), а консоль ошибок скажет нам: “Syntax error“. Извините, может я чего не понимаю, но в каком тут месте синтаксическая ошибка??
А вот если убрать конструкцию c комментариями, то все работает нормально:
<script type=“text/javascript”> alert(‘Data has been saved’); </script>
Кто-то может объяснить?
P.S.: Блин, еще и двойные дефисы посъедались… (там их два, так что не обращайте внимание)
P.P.S.: Вот еще оказалось что лучше не пользоваться методом remove() (prototype.js), так как в IE он не всегда работает
Май 15th, 2009 at 6:47 пп
А как по твоему должен поступить интерпретатор джава скрипт обнаружив что код начинается с <– ? Это что за инструкция такая? =D
Май 15th, 2009 at 6:48 пп
правильно вот так:
//
Ктоб угодно был бы виноват, лишь бы не мы))
Вопрос - а зачем понадобилось так делать?
Май 15th, 2009 at 6:55 пп
простите, мой код съели)
Май 18th, 2009 at 9:59 дп
Вообще-то такая конструкция - это классика жанра
http://www.howtocreate.co.uk/tutorials/javascript/incorporate
но если документ имеет стандарт XHTML, то она заменяются на другую (CDATA) - пример смотри там же
Май 23rd, 2009 at 7:10 дп
CDATA нужен для XML валидности, и он предваряется обычно обычными комментариями типа // для того чтобы интерпретатор понял юмор. Насчет такого варианта как ты написал по твоей ссылке сказано что это больше не нужно и было нужно только для браузеров которые могли не вкурить что это скрипт пошел.
Классика жанра… совершенно не понятные для меня слова. Зачем делать //CDATA я знаю, а зачем делать то что ты сделал продолжаю непонимать. Эксплорер судя по всему тоже. :)
оффтоп: надо допилить блог, чтобы в комментах могли писать теги, в идеале с подсветкой, чтобы у тебя самого двойные дефисы не съедались. ну и смайлы починить. а то что эт за дела. это программера блог или кого? :)
Май 24th, 2009 at 9:39 пп
Ты же ведь сам программер, и должен знать, что это оооочень ленивый народ…
Июнь 1st, 2009 at 12:16 пп
Попробуй заменить апострофы на кавычки. Обычно это ошибка которую трудно заметить.