+28.89
461 читатель, 106 топиков

Исправление позиции на странице после подгрузки ajax-ом в Chrome

В браузере Chrome начиная с v56 появилась т.н. функция Scroll Anchoring, которая включена по умолчанию.

В результате на всех Chrome-based браузерах на странице с подгрузкой контента (например в Активности) после подгрузки скролл уходит вниз страницы. и подгружаемый контент «уходит» вверх, а не появляется внизу как положено. В итоге теряется смысл этой фичи и чтобы увидеть подгруженный контент, нужно скроллить вверх вручную.

Этот баг воспроизводится и на этом сайте (см. страницу Активность). В Firefox все работает как надо.

Решение:
Читать дальше →

Как починить скролл по топикам и кнопку Scroll Up

Судя по активности) немногие заметили, что на 1.0.3, в том числе на этом сайте, в Chrome-based браузерах перестал работать скролл по топикам и кнопка Scroll Up.

«Починить» можно так:
1. Меняем этот файл на этот (т.е. обновляем jQuery scrollTo)
2. Удаляем или закомментируем эту строку

UPD->REMOVE:
Думаю, предварительно нужно обновить jQuery хотя бы до 1.8
UPD->ADD:
3. Обновляем jQuery минимум до версии 1.8.0. Т.е. меняем этот файл на этот.
Если обновить jQuery на более новую версию, чем 1.8.0, возможны траблы с js движка.

Часовые пояса. Корректировка времени (ls 1.0.3)

Приветствую. Что-то на Лайвстрит совсем тихо. Орт пришел и своим топиком распугал всех?)

Наконец-то добрались до часов поясов. Напомню, в ls 1.0.3 до сих пор они не были отредактированы и отчасти были неверны на данный момент. Делимся, может кому-то тоже пригодится.
Читать дальше →

Исправление автопереключения мобильного шаблона для LS 1.0.3

Как многие заметили, мобильный шаблон для LS 1.0.3 с какого-то времени перестал работать.

Например, если почистить куки браузера и зайти на главную страницу сайта, то вы будете автоматически перенаправлены на мобильную версию шаблона вне зависимости от того, с какого устройства вы зашли.

То есть на практике все новые посетители попадают на мобильную версию вашего сайта, пока не установят специальную куку (принудительно не переключатся на десктопную версию).

И вина здесь не на разработчике плагина, а на сервисе Янлекса, который перестал работать (апи сервиса больше не предоставляется).

Ниже смотрим как исправить ситуёвину своими руками.
Читать дальше →

Массовый перенос топиков в другой блог?

Здравствуйте, уважаемые лайвстрицовцы! Рад вас приветствовать! Хотел спросить, как можно безопасно перенести сразу все топики из одного блога в другой, с сохранением информации о старом расположении и авто редиректом 301.?

Буду рад выслушать любые возможные решения!

Спасибо за внимание!

Что происходит с сообществом ?

Ситуация вокруг LiveStreet очень быстро ухудшается по уровню насыщенности продаж, общения, и создания новых продуктов…

Я не понимаю, все ждут 2.0, что забили на первую версию, или надоела LS?
Достойная же система… Покупателей нет, выпуск новых плагинов с шаблонами тоже… Я вот тут проект делал, думал выпущу — будет круто, люди рады будут новому макету с шаблоном. А по статистике последних выпущенных продуктов — очень унылая. Отметки продаж не достигают и 10-и.

Давайте подискутируем.
Без мата.
Без оскорблений.
Тезисно и разборчиво.

Спасибо.

Ошибка скрипта при вставке из Твиттера

Уважаемые коллеги,

В файле engine/lib/internal/template/js/main.js происходит переопределение метода .bind():
	Function.prototype.bind = function(context) {
		var fn = this;
		if(jQuery.type(fn) != 'function'){
			throw new TypeError('Function.prototype.bind: call on non-function');
		};
		if(jQuery.type(context) == 'null'){
			throw new TypeError('Function.prototype.bind: cant be bound to null');
		};
		return function() {
			return fn.apply(context, arguments);
		};
	};


Вроде бы невинная проверка, но она падает, если в заметку вставлен эмбед Твиттера, поскольку в подключаемом widgets.js идёт прямой вызов .bind() с нуллом:
e.exports = {tweet: o(r.bind(null, "tweet")),timeline: i,video: o(r.bind(null, "video")),tweetRefresh: r.bind(null, "tweet")}


Это приводит к выбрасыванию исключения «Function.prototype.bind: cant be bound to null» (как есть, без апострофа).

Я эту ситуацию смог воспроизвести: jsfiddle.net/NPC42/z89o15em/ (см. консоль), но только если поставить запуск JQuery на onDomready, иначе всё работает без проблем (каким-то образом).

Вопрос мой состоит из двух частей — во-первых, может я что-то не так понял? :) Проблема происходит при определённых обстоятельствах, и я не до конца понимаю, при каких именно. С полгода назад вставка Twitter работала, а теперь мы видим, что начала падать на этом месте — хотя теоретически должна была падать всегда.

Во-вторых, будет ли безопасно поменять определение в main.js следующим образом?
if (!Function.prototype.bind) {
	Function.prototype.bind = function(context) {
		var fn = this;
		if(jQuery.type(fn) != 'function'){
			throw new TypeError('Function.prototype.bind: call on non-function');
		};
		if(jQuery.type(context) == 'null'){
			throw new TypeError('Function.prototype.bind: cant be bound to null');
		};
		return function() {
			return fn.apply(context, arguments);
		};
	};
}


Проблему вставки Твиттера это решает, но я тревожусь, не поломает ли это что-то ещё, ведь по какой-то причине LS решил определить собственный метод .bind() (для поддержки IE8, возможно?).

Буду благодарен за любые объяснения и подсказки.