| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Скрипт не работает если указать DOCTYPE |
| Автор: OlegRu 8.6.2006, 10:18 | ||
| Всем привет! Хочу использовать вот такой скрипт http://www.03www.ru/00/160305-3-8.html. Но у меня на странице указан DOCTYPE:
Из-за этого скрипт совершенно не работает, текст не подсвечивается. Вопрос: как можно заставить работать скрипт ? не убирая строчки DOCTYPE. Благодарю за внимание. |
| Автор: Sardar 8.6.2006, 11:24 |
| Я думал видел "самые кривые скрипты", этот отодвинул планку ещё дальше... ИЕ обычно не отличаеться особым стремлением выполнять стандарты дотошно, но вероятно обращение к элементу просто по ID, без document.getElementById, запрещаеться если документ не в quirksmode. Здесь: interval=setInterval("makeglow(myLink)",10) |
| Автор: 12345c 8.6.2006, 11:32 | ||||
| Как показывает пример со стилем, filter:glow(color=#FF00FF,strength=5) даже без скрипта в стандарте не поддерживается. (Впишите: с доктайпом и без)
Добавлено @ 11:35 Sardar, там всё правильно с кодами, просто один раз параметр в функцию лишний вставили. Интересно, что ошибку не вызвало. Добавлено @ 11:36 Да, вот он, переписанный правильно пример:
|
| Автор: OlegRu 8.6.2006, 11:58 | ||||
| To 12345c Спасибо. Еще интересно то, что если вписать доктайп так то работает :
а если так - то не работает:
Нашел похожую проблему здесь : http://www.daniweb.com/techtalkforums/thread19630.html Но так понял, что ничего конкретного там не решили. Вот это определение "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" мне нужно! Оно применяется в библиотеке script.aculo.us. Как же совместить xhtml1-transitional.dtd и горящую гиперссылку ?? |
| Автор: Sardar 8.6.2006, 14:18 |
| OlegRu, а почему системный идентификатор от XHTML1.1, а публичный HTML4.0? По идее браузер должен плюнуть на такой фокус и вывалиться в quirksmode. В таком случае что с доктайпом, что без него работать должно одинакого "криво". Без указания системного идентификатора ИЕ должен вывалиться в quirksmode что он и делает. Ставь это: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> При этом пройдись http://validator.w3.org по коду и выполни всё что тот говорит... а ругаться он будет по началу много Нет, на прямую не применяеться, просто если поставить правильный доктайп то даже ИЕ будет следовать стандартам, а это значит предсказуемое поведение и главное расчёт размеров элемента на котором script.aculo.us держиться. |
| Автор: 12345c 8.6.2006, 16:39 | ||
Sardar, в тоже поудивлялся, почему не выпадает. Провалидировал и твой, и loose.dtd - не работает фильтр.
Добавлено @ 16:43 OlegRu, а первый вариант не доктайп вообще, а лишь его заготовка. Статьи про доктайпы лежат в и-нете. http://www.yandex.ru/yandsearch?yaca=1&text=%E2%E0%F0%E8%E0%ED%F2%FB+doctype&stype=&numdoc=30 - "варианты doctype" |
| Автор: Sardar 9.6.2006, 01:06 | ||
Опытным путём установленно что:
Вот что вышло:
12345c, форматируй код, читать не удобно. |