Не работает JS после подгрузки на AJAX

Приветствую всех!

Долго искал в гугле решения проблемы, но увы скила не хватает понять ее решение.
Есть код для загрузки гиф:

$('.gif-with-play').on('click', function() {

var $this = $(this),
$img = $this.children('img'),
$imgSrc = $img.attr('src'),
$imgSrcgif = $img.attr('data-srcgif'),
$imgExt = $imgSrcgif.split('.');
if($imgExt[2] === 'gif') {
$this.addClass('loading-hide');

$img.attr('src', $img.data('srcgif')).attr('data-srcgif', $imgSrc);

$($img).load(function(){
$this.removeClass('loading-hide');
});
} else {
$img.attr('src', $imgSrcgif).attr('data-srcgif', $img.data('srcgif'));
}

$this.toggleClass('play');

});

Проблема в том, что после загрузки ленты по средствам AJAX, click не работает, гиф не загружает. Помогите, кто вкурсе. Буду очень признателен.

Фон сайта ссылкой.

Всем добра.В полку любителей Livestreet прибыло.И вот возник вопрос по поводу как сделать фон сайта ссылкой.

Фон поменял с помощью

{if $sAction=='blogs' }
style="
background: url(link) 50% 0 repeat;
" {/if}

Для того что бы сделать ссылкой использую js script из admixer.(Файл шаблона можно скачать admixer.net/ru/creatives/adformats/branding Файл шаблон-пример

Подробности

Асинхронная загрузка css и js

Как использовать асинхронную загрузку css и js,
если в шаблоне мы имеем только {$aHtmlHeadFiles.css} и {$aHtmlHeadFiles.js}?

Думаю, что нужно jQuery не мержить (array('merge'=>false)), а остальное «подавать» в обертке ниже. Однако почему-то исключенные с мержа файлы подключаются ниже смерженных. Т.е. нужна возможность при подключении дополнительно указывать выше ли ниже (типа append и prepend).

При этом нужно учитывать включен ли в конфиге мерж.

Вот только как это все сделать?

Настройки слияния (компрессии) css и js

Всем привет!
В очередной раз поднимаю тему (вроде видел, но не могу найти решение).
Установил в конфигах:
$config['compress']['css']['merge'] = true;
$config['compress']['css']['use'] = false;
$config['compress']['js']['merge'] = true;
$config['compress']['js']['use'] = true;
На одних сайтах все хорошо. А на других отпали некоторые стили с картинками, иконки.
Сброс кеша в админке не помогает.

Требуется программисты

Для крупного проекта — inparadise.info/ требуются хорошие программисты со знанием PHP на высоком уровне, и базовыми знаниями HTML, CSS3 и JS. Так же обязательный опыт работы с движком LiveStreet, MVC моделями и написанием плагинов под Livestreet.
Требование:
— ответственность
— аналитический склад ума
— многозадачность
— умение организовать свой рабочий день
— инициативность
— умение и желание работать в команде
— готовность качественно выполнять поставленные задачи в сроки
— быть всегда на связи
Оплата после выполнение тз.
Оставляйте свой скайп для связи.

Переопределение js (Решено)

Задача 1.
В файле /engine/lib/internal/template/js/blocks.js есть код, добавляющий класс active иконке обновления блока («прямой эфир» и «блоги»).
В шаблоне используются иконки (точнее шрифт) font-awesome, поэтому необходимо переопределить класс active на класс fa-spin (вращение).

Решение:
— в template.js шаблона перед вызовом функции инициализации блоков добавим опцию:
ls.blocks.options.update_active = 'fa-spin';

— затем переопределим ее с новой опцией:
ls.blocks.init = function(block,params) {
	params=params || {};
	$('.js-block-'+block+'-item').click(function(){
		ls.blocks.load(this, block);
		return false;
	});
	if (params.group_items) {
		this.initNavigation(block,params.group_min);
	}

	var $this=this;
	$('.js-block-'+block+'-update').click(function(){
		$(this).addClass($this.options.update_active);
		ls.blocks.load($this.getCurrentItem(block), block);
		setTimeout( function() { $(this).removeClass($this.options.update_active); }.bind(this), 600 );
	});
};


Задача 2.
В стандартном функционале при добавлении в избранное js движка добавляет к иконке избранного в футере топика класс active, и это легко можно задействовать при использовании спрайтов, указав координаты «активной» иконки. В нашем примере используется иконки font-awesome, поэтому класс active нам не подходит. Хотя vOFFka в своих шаблонах выкрутился по-другому, задав иконке с классом active желтый цвет.
Т.е. нам нужно при добавлении в избранное менять класс иконки избранного с fa-star-o (звездочка с контуром) на fa-star (залитая звездочка).
Также необходимо при добавлении/удалении в избранное соответственно менять title иконке (Добавить в избранное/Удалить из избранного).

Решение:
Окончание процесса добавления/удаления избранного в движке помечено js-хуком.
В template.js шаблона Synio я нашел применение этого хука (удаляет нулевое значение числа добавлений в избранное) и решил его дополнить:
// избранное
ls.hook.add('ls_favourite_toggle_after',function(idTarget,objFavourite,type,params,result){
	$('#fav_count_'+type+'_'+idTarget).text((result.iCount>0) ? result.iCount : '');

	// меняем иконку
	$('#fav_topic_'+idTarget).toggleClass('fa-star').toggleClass('fa-star-o');
	// Для всех типов объектов, добавляемых в избранное (например, + камменты), следует писать так
	// this.objFavourite.toggleClass('fa-star').toggleClass('fa-star-o');
	// или так
	// $('#fav_'+type+'_'+idTarget).toggleClass('fa-star').toggleClass('fa-star-o');

	// меняем title иконке
	if (result.bState) {
		this.objFavourite.attr('title', 'Удалить из избранного');
	} else {
		this.objFavourite.attr('title', 'Добавить в избранное');
	}
});


P.S.:
Вероятно, вышеизложенное гораздо проще реализовать правками непосредственно в файлах движка, но это может привести к проблемам совместимости.

Большое спасибо ort , PSNet (статья) и tema_mak за помощь в решении задач!

Как очистить head от лишних скриптов?

Здравствуйте! Пожалуйста, подскажите, как очистить head от лишнего кода, хочу удалить этот скрипт:
<script type="text/javascript">
var DIR_WEB_ROOT 			= '{cfg name="path.root.web"}';
var DIR_STATIC_SKIN 		= '{cfg name="path.static.skin"}';
var DIR_ROOT_ENGINE_LIB 	= '{cfg name="path.root.engine_lib"}';
var LIVESTREET_SECURITY_KEY = '{$LIVESTREET_SECURITY_KEY}';
var SESSION_ID				= '{$_sPhpSessionId}';
var BLOG_USE_TINYMCE		= '{cfg name="view.tinymce"}';
		
var TINYMCE_LANG = 'en';
{if $oConfig->GetValue('lang.current') == 'russian'}
TINYMCE_LANG = 'ru';
{/if}

var aRouter = new Array();
{foreach from=$aRouter key=sPage item=sPath}
aRouter['{$sPage}'] = '{$sPath}';
{/foreach}
</script>

Взять, например, сайт spark.ru. У них там этого кода нет.

Подключение js если недоступен CDN

Возможно ли подключение js (jQuery, Boootstrap, etc.) следующим образом:
— указываем ссылку на cdn, если он недоступен — то забираем со своего сервера?

Еще на Яндекс.Метрике обратил внимание что код счетчика может быть асинхронный — т.е. не влиять на скорость загрузки сайта. Такой код отличается некой оберткой.
Можно ли смерженный js подключать таким же образом?

Подключение js в плагине (Почти решено)

Есть ли разница в подключении js плагина?:
  1. Через хук:
    public function InitAction() {
        $this ->Viewer_AppendScript (Plugin::GetTemplateWebPath (__CLASS__).'js/somejs.js');
        ...
    }
  2. Или через класс плагина:
    public function Init() {
        $this->Viewer_AppendScript (Plugin::GetWebPath (__CLASS__).'js/somejs.js');
        ...
    }

Может ли это сказаться на слиянии js?

Почему для некоторых js нужно запрещать слияние?
Читать дальше →

Оптимизация для PageSpeed Insights

С настройкой сервера, оптимизацией изображений и прочим я разобрался, остались вопросы, в которых я не очень хорошо ориентируюсь.
Google PageSpeed Insights выдает примерно следующее
Читать дальше →