![]()  | 
	
		
 Динамическая замена тега Body 
		
		
		Доброго времени суток! 
	У меня появилась надобность в динамической замене тега <body>. К примеру на одной странице мне нужно что-бы тег был такой: Код: 
	<body onload="function(1)">Код: 
	<body onload="function2(123)">Зарание спасибо за помощь!  | 
		
 Не используйте 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]  | 
		
 Цитата: 
	
 А можно как-то это все прописывать в свойствах самой страници (в TSconfig), а не в шаблоне? Вопрос другой (для общего знания): почему не использовать onload="" ?  | 
		
 Вот если честно, то по-моему нельзя. pageTSconfig он немного для других вещей: настройки RTE там, например. С другой стороны, page TS config - это обычное текстовое поле в таблице pages, то есть может быть им можно воспользоваться, если ваш кастомный код какими-то маркерами пометить и через какой-нибудь парсер на userFunc прогнать.  
	Но мне кажется, что овчинка не стоит выделки, и лучше либо воспользоваться полем Media для указания используемых файлов, либо написать своё расширение и в нём добавить поле в pages. Или найти ещё какой-нибудь вариант (например, определять текущее местонахождение прямо из javascript-а и прописывать условия в нём). Относительно onload есть два соображения. Во-первых, onload вызывается сильно позже domcontentloaded, что не есть хорошо - ваши скрипты в общем случае должны отрабатывать как можно раньше. Во-вторых, писать javascript прямо в HTML не есть хорошо по идеологическим соображениям - смешивать структуру (HTML) и поведение (javascript). Все эти <a onclick="" или <body onload="" должны навешиваться самим javascript-ом  | 
| Часовой пояс GMT +4, время: 18:17. | 
	Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot