Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.03.2011, 23:36
Интересующийся
Отправить личное сообщение для socengel Посмотреть профиль Найти все сообщения от socengel
 
Регистрация: 01.03.2011
Сообщений: 20

динамическая подгрузка css в head.
Итак вопрос таков: есть ли возможность подгружать css стили в head?
например у меня есть простая страница
<head>некий css</head>
<body>
      <div></div>
</body>

допустим пользователь запрашивает некую информацию, которая загружаеться в див. Информация имеет форматирование посредством css (классы). так вот интересно можно ли подгружать таблицу этих классов аяксом?
1. Сейчас таблица полностью подключается при загрузке страницы в хедере тобиш еще до подгрузки инормации аяксом.
2. есть вариант указывать стили через тег style="" при создании динамической страницы с информацией. но в этом плане первый вариант лучше. так как таблица будет загружена один раз, а не на "каждую информацию".

Я конечно не вижу ничего зазорного в использовании первого варианта но "любопытство гложет".
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2011, 00:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,597

<script type="text/javascript">
function addStyle(css){
	var style=document.createElement('style');
	style.type = 'text/css';
	if(style.styleSheet)style.styleSheet.cssText=css;
	else style.appendChild(document.createTextNode(css));
	document.getElementsByTagName('head')[0].appendChild(style)
}
addStyle('html, body {background:#000}')
</script>

Но грузить надо заранее в любом случае.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 11.03.2011, 00:33
Интересующийся
Отправить личное сообщение для socengel Посмотреть профиль Найти все сообщения от socengel
 
Регистрация: 01.03.2011
Сообщений: 20

так уже интереснее, сейчас попробую модернизировать для своих нужд. даже уже придумал как.
Ответить с цитированием
  #4 (permalink)  
Старый 11.03.2011, 00:53
Интересующийся
Отправить личное сообщение для socengel Посмотреть профиль Найти все сообщения от socengel
 
Регистрация: 01.03.2011
Сообщений: 20

Спасибо все получилось
В общем то что я хотел получилось

вот код с модернизацией посредством jQuery в урл указываеться путь до фала с таблицей. собственно эту функцию можно вызвать до вызова функции подгрузки информации и все работает).
function addStyle(url) {
	$.get(url, function(data){
		var style=document.createElement('style');
	    style.type = 'text/css';
	    if(style.styleSheet)style.styleSheet.cssText=data;
	    else style.appendChild(document.createTextNode(data));
	    document.getElementsByTagName('head')[0].appendChild(style)
	});
}
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2011, 09:34
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

socengel,
зачем вы скачиваете ajax-ом содержимое стилей, если достаточно создать тег link?
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2011, 09:42
Аспирант
Отправить личное сообщение для lalala Посмотреть профиль Найти все сообщения от lalala
 
Регистрация: 04.03.2011
Сообщений: 87

socengel,
Сообщение от socengel
вот код с модернизацией посредством jQuery в урл указываеться путь до фала с таблицей. собственно эту функцию можно вызвать до вызова функции подгрузки информации и все работает).
т.е. во время загрузки страницы Вы выполняете этот запрос? я правильно понял?
Если да, тогда можете объяснить зачем это делается?..интересно все же
Ответить с цитированием
  #7 (permalink)  
Старый 14.03.2011, 03:15
Интересующийся
Отправить личное сообщение для socengel Посмотреть профиль Найти все сообщения от socengel
 
Регистрация: 01.03.2011
Сообщений: 20

http://socengel.ru/ думаю это все объяснит, зачем подгружать то что пользователю может быть не нужно... Я только начал делать свой движок так что пока только приложение новости). да и то недоделанное). потом приложений будет больше. и разумно предположить что пользователь будет пользоваться не всеми.

Кстати аякс "во всей красе" весь сайт будет без единой перезагрузки или смены страницы. =).
лого правда от оригинального сайта (для которого я это делаю) да и новости от-туда же). Так что ссылка в скором времени помрет).

А вообще это для экономии трафика, например у вас есть страница с конетнтом, и дополнительные примочки на аяксе, я не знаю что это может быть либо чат какой-нибудь либо когда пользователь входит по своим логином у него появляются какие-то разделы которые до это отсутствовали которые естественно могут иметь форматирование посредством ксс так зачем пользователю подгружать лишнее ксс форматирование если он возможно и не будет использовать эти примочки? Я вижу даже применение этого скрита прямо здесь на форуме
Рассмотрим форму "быстрый ответ". допустим если бы она была "скрыта" и когда пользователь нажимает на кнопочку "быстро ответить" (если ее добавить=D) она появляеться и перед тем как она появляеться мы подгружаем форматирование этой формы чтобы она выглядела красиво). естественно основная таблица до этого не имеет форматирование этой формы поэтому она "легче" тоесть если пользватель просто прочитал топики и не собираеться отвечать так зачем ему грузить эту форму?) даже если сэкономить каких-то 10 килобайт(со всей страницы) то при простейшей математике 10 килобайт на страницу (очень грубо) возьмем что в день просматриваеться 10000 страниц это уже 100 мегабайт. да и не стоит забывать про такое понятие как "время загрузки страницы" которое естественно ускориться.

в моем же варианте это целые страницы так что для меня это очень актуально.

Конечно береться самый плохой вариант когда у пользователя отключено кэширование, пропускной канал у хостера не велик, да и у пользователя стоит новомодный нынче "мобильный интернет" через модем. Но пользователь есть пользователь его нужно уважать). Да и в программировании нужно идеализировать.

Последний раз редактировалось socengel, 14.03.2011 в 04:45.
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2011, 10:16
Аспирант
Отправить личное сообщение для lalala Посмотреть профиль Найти все сообщения от lalala
 
Регистрация: 04.03.2011
Сообщений: 87

socengel,
спасибо за содержательный ответ
Ответить с цитированием
  #9 (permalink)  
Старый 14.03.2011, 10:42
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от socengel
Кстати аякс "во всей красе" весь сайт будет без единой перезагрузки или смены страницы. =).
лого правда от оригинального сайта (для которого я это делаю) да и новости от-туда же). Так что ссылка в скором времени помрет).
почитай рекомендации поисковиков для вебмастеров-и эта идея отпадёт
Ответить с цитированием
  #10 (permalink)  
Старый 14.03.2011, 14:29
Интересующийся
Отправить личное сообщение для socengel Посмотреть профиль Найти все сообщения от socengel
 
Регистрация: 01.03.2011
Сообщений: 20

Я знаю рекомендации и что такой сайт не будет индексирован. Правда я догадываюсь как это обойти, но пока у меня не получиться это сделать, я не буду рассказывать как я буду это делать, так как вариантов я вижу как минимум три, тот который подойдет я непременно опубликую. Просто в этой сфере "шаманства" я почему-то не хочу ни кого слушать и набить свои шишки, даже если у меня не получиться для меня поисковик мало важен это "закрытый частный сайт".

Последний раз редактировалось socengel, 14.03.2011 в 14:46.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динамическая подгрузка скрипта jetli13 Общие вопросы Javascript 1 13.07.2010 16:15
Динамическая подгрузка javascript jetli13 AJAX и COMET 20 23.12.2009 16:05
Динамическая подгрузка скрипта format1981 Общие вопросы Javascript 7 23.10.2009 12:40
динамическая подгрузка страницы tp0378 Events/DOM/Window 1 14.09.2009 15:37
Ajax. Полноценная подгрузка страниц, содержащих CSS и JS. Alex22 AJAX и COMET 6 05.11.2008 23:53