Столкнулся вчера с
занятными (г|т)раблями —
никак не получалось у меня добавить на
страничку в 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
из кода страницы ручками и всё у
меня получилось.
Главное не забыть, что
редактировать эту страницу в визуальном
редакторе нельзя.
Комментариев нет:
Отправить комментарий