rafikov / Simpliste

Simple responsive HTML5 template
http://cssr.ru/simpliste/
139 stars 22 forks source link

Style sheets preload #4

Open rafikov opened 12 years ago

rafikov commented 12 years ago

Нужен какой-то адекватный способ предзагрузки CSS-файлов на странице просмотра тем http://cssr.ru/simpliste/

Вот файл с jQuery http://cssr.ru/simpliste/js/simpliste.js

Я пытался в скрытый блок подгружать файл стилей, который будет подключен после клика на превьюшку

$('.hidden').load("styleSrc");

То есть идет аякс-запрос. Но похоже, что файл не кешируется, или кешируется не во всех браузерах, потому что на секунду всплывает нестилизованный HTML, когда смотришь темы в первый раз.

senyai commented 12 years ago

styleSrc в кавычках и получается что загружается http://cssr.ru/simpliste/styleSrc, а не файл стилей. Если этот трюк не пройдёт, у меня есть трюк с mootools. upd: в jQuery можно и не создавать элемент для ajax, достаточно

$.ajax({
  url: styleSrc,
  success: function(data) {
    alert('Load was performed.');
  }
});
rafikov commented 12 years ago

Насчет кавычек хорошо подмечено. Но и без них не понравилось.

Насчет элемента для ajax поглядеть постараюсь, как время будет. Спасибо.

maxvipon commented 12 years ago

Есть хороший лоадер — yepnope — он умеет подгружать css, есть callback при окончании загрузки. Например:

yepnope({
    load: 'themes/somesimple.css',
    complete: function () {
        $("link[rel=stylesheet]").first().attr({href:"themes/somesimple.css"});
    }
});