Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
27.09.2009, 18:23 | #1 |
Продвинутый
Регистрация: 03.03.2007
Адрес: Израиль
Сообщений: 53
|
Динамическая замена тега Body
Доброго времени суток!
У меня появилась надобность в динамической замене тега <body>. К примеру на одной странице мне нужно что-бы тег был такой: Код:
<body onload="function(1)"> Код:
<body onload="function2(123)"> Зарание спасибо за помощь! |
27.09.2009, 20:59 | #2 |
Senior Member
|
Не используйте onload="", используйте обработчик события DOMContentLoaded, как это делают любые js-фреймворки типа jQuery/mooTools/ExtJS.
Соответственно, задача сводится к вставке разного джаваскрипта на разных страницах. Что решается как-то так [globalVar = TSFE:id = 15] page.includeJS.something = /path/to/one.js [else] page.includeJS.something = /path/to/another.js [end]
__________________
TYPO3 FAQ |
28.09.2009, 02:59 | #3 | |
Продвинутый
Регистрация: 03.03.2007
Адрес: Израиль
Сообщений: 53
|
Цитата:
А можно как-то это все прописывать в свойствах самой страници (в TSconfig), а не в шаблоне? Вопрос другой (для общего знания): почему не использовать onload="" ? |
|
29.09.2009, 23:05 | #4 |
Senior Member
|
Вот если честно, то по-моему нельзя. pageTSconfig он немного для других вещей: настройки RTE там, например. С другой стороны, page TS config - это обычное текстовое поле в таблице pages, то есть может быть им можно воспользоваться, если ваш кастомный код какими-то маркерами пометить и через какой-нибудь парсер на userFunc прогнать.
Но мне кажется, что овчинка не стоит выделки, и лучше либо воспользоваться полем Media для указания используемых файлов, либо написать своё расширение и в нём добавить поле в pages. Или найти ещё какой-нибудь вариант (например, определять текущее местонахождение прямо из javascript-а и прописывать условия в нём). Относительно onload есть два соображения. Во-первых, onload вызывается сильно позже domcontentloaded, что не есть хорошо - ваши скрипты в общем случае должны отрабатывать как можно раньше. Во-вторых, писать javascript прямо в HTML не есть хорошо по идеологическим соображениям - смешивать структуру (HTML) и поведение (javascript). Все эти <a onclick="" или <body onload="" должны навешиваться самим javascript-ом
__________________
TYPO3 FAQ |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вставка собственного тега внутрь тега <a></a> в меню | lexun | TypoScript практикум | 7 | 11.04.2007 15:35 |