Столкнулся вчера с
занятными (г|т)раблями —
никак не получалось у меня добавить на
страничку в Plone
код Javascript. Ну, типа
такого:
<img src="http://www.onsite.ru/ftp/vivwater/webcam.jpg" name="webcam"> <script language="JavaScript"> function go() { var now = new Date(); var stamp= parseInt(now.getTime() / 1000); document.images.webcam.src="http://www.onsite.ru/ftp/vivwater/webcam.jpg?"+stamp; setTimeout("go()", 2000); } setTimeout("go()", 1000); </script> |
Понятное дело, сначала
я проверил, не отфильтровываются ли
напрочь «вредные» теги. Толковую
инструкцию я нашел только одну
зато она годится для
любых случаев. Хотя, как оказалось, не
любых.
После серии бесплодных
попыток, я выяснил, что используемый
редактор (TinyMCE)
оборачивает код Javascript. в
тег CDATA.
Получается у него вот так:
<script language="JavaScript"> // <![CDATA[ function go() { var now = new Date(); var stamp= parseInt(now.getTime() / 1000); document.images.webcam.src="http://www.onsite.ru/ftp/vivwater/webcam.jpg?"+stamp; setTimeout("go()", 2000); } setTimeout("go()", 1000); // ]]> </script> |
Такая обертка приводит
к тому, что шаблонизатор Plone
вырезает из выдачи код скрипта.
В коде отрендеренной
страницы видно такое:
<script language="JavaScript"> // </script> |
Здорово, правда?
И что с этим делать —
неясно. Если бы CDATA был
нормальным тегом, можно было бы добавить
его в список исключений. Я пробовал —
не выходит.
В итоге пришлось идти
в обход. В настройках своей учетной
записи в Plone я выбрал в
качестве редактора «нет редактора», то
есть страницу сайта редактировать
придется в HTML, никакого
WYSIWYG, зато и «интеллекта»
вредного тоже нет. Убрал я тег CDATA
из кода страницы ручками и всё у
меня получилось.
Главное не забыть, что
редактировать эту страницу в визуальном
редакторе нельзя.
Комментариев нет:
Отправить комментарий