Виртуальный скроллинг. [Дозагрузка страниц блога при скроллинге]. Реально ли?
3
Добрый день, уважаемые!
Хотелось бы задать Вам, знатокам, вопрос. Поиском по сайту я к моему превеликому сожалению ничего не добился и через силу заставил себя создать этот топик рискуя быть подвергнутым массе восклицаний «Учи матчасть!» и пр…
К сути:
Уже много на каких проектах я и Вы могли замечать так называемый «Виртуальный скроллинг» при котором информация (в нашем случае — страницы блога\сайта) подгружается по мере скроллинга страницы при достижении определенной позиции. Например на одной стр. выводится 15 записей… как только дошли скроллингом до 15 у нас дозагрузились еще 15. Идея — уйти от постраничной навигации, а так-же всяких замыкающих нас футеров. Есть ли у кого-то опыт или идеи по реализации подобной схемы навигации на движке livestreet? На данный момент, погуглив, я к сожалению никакой полезной информации найти не смог. Может гуглил плохо, а может быть просто знаний не хватает. Так или иначе надеюсь на Ваши интересные, содержательные комментарии, идеи или предложения.
С уважением.
Хотелось бы задать Вам, знатокам, вопрос. Поиском по сайту я к моему превеликому сожалению ничего не добился и через силу заставил себя создать этот топик рискуя быть подвергнутым массе восклицаний «Учи матчасть!» и пр…
К сути:
Уже много на каких проектах я и Вы могли замечать так называемый «Виртуальный скроллинг» при котором информация (в нашем случае — страницы блога\сайта) подгружается по мере скроллинга страницы при достижении определенной позиции. Например на одной стр. выводится 15 записей… как только дошли скроллингом до 15 у нас дозагрузились еще 15. Идея — уйти от постраничной навигации, а так-же всяких замыкающих нас футеров. Есть ли у кого-то опыт или идеи по реализации подобной схемы навигации на движке livestreet? На данный момент, погуглив, я к сожалению никакой полезной информации найти не смог. Может гуглил плохо, а может быть просто знаний не хватает. Так или иначе надеюсь на Ваши интересные, содержательные комментарии, идеи или предложения.
С уважением.
Подключение сторонних javascript библиотек в плагине
Суть задачи: плагин в своей работе задействует внешнюю js библиотеку. В моём случае — это Google Maps Api. При добавлении этой библиотеки таким образом:
гугл посылает далеко и надолго.
Я обнаружил 2 решения проблемы:
1 (корявое). Отключить сжатие js файлов:
Почему корявое, думаю, объяснять не стоит.
2 (приемлемое). Полез в код движка и обнаружил что подключить стороннюю js библиотеку можно без проблем, просто вьюверу указать чтоб не пытался объединить её код с остальным:
Вуаля! Работает!
Подскажите если есть ещё варианты решения данной проблемы
$this->Viewer_AppendScript('http://maps.google.com/maps/api/js?sensor=true&libraries=drawing,geometry');гугл посылает далеко и надолго.
Я обнаружил 2 решения проблемы:
1 (корявое). Отключить сжатие js файлов:
Config::Set('compress.js.merge',false);
Config::Set('compress.js.use',false);
Почему корявое, думаю, объяснять не стоит.
2 (приемлемое). Полез в код движка и обнаружил что подключить стороннюю js библиотеку можно без проблем, просто вьюверу указать чтоб не пытался объединить её код с остальным:
$this->Viewer_AppendScript('http://maps.google.com/maps/api/js?sensor=true&libraries=drawing,geometry',array('merge'=>false));Вуаля! Работает!
Подскажите если есть ещё варианты решения данной проблемы
- 0
- 20 февраля 2012, 17:49
- DmitryWebDevelop
- 10
Есть мысль. (шаблоны, javascript)
Те части яваскриптов, что в шаблонах повторяются гарантированно, вынести в /engine/lib/internal/template/ с названиями
А в шаблонах переопределять лишь необходимые части. В том числе, возможно, и с помощью ls.hook.inject вносить всякие незначительные поправки.
Мне кажется, верстальщикам будет больше счастья от этого
+ поддержка шаблонов станет проще
- main.core.js
- comments.core.js
А в шаблонах переопределять лишь необходимые части. В том числе, возможно, и с помощью ls.hook.inject вносить всякие незначительные поправки.
Мне кажется, верстальщикам будет больше счастья от этого
+ поддержка шаблонов станет проще
CSS-неймспейсы для Internet Explorer
6
Дабы не плодить кучи css-файлов для разных версий ишака, придумал такой скриптик:
Применять в css-файлах можно, например, так:
/**
* Adds css classes to body like ie, ie-6, ie-gte-5-5, ie-not-7, etc.
* depends on msie browser version
*
* @author Sergey S Yaglov
* @link http://livestreet.ru/profile/1d10t/
*/
jQuery(function(){
if(!jQuery.browser.msie){
return;
}
var versions = ['5.5',6,7,8,9,10];
var body = jQuery('body:eq(0)');
var bv = jQuery.browser.version;
var classes = ['ie'];
var signs = {
'==': '-',
'>=': '-gte-',
'>': '-gt-',
'<=': '-lte-',
'<': '-lt-',
'!=': '-not-'
};
jQuery.each(versions, function(i,v){
for(var sign in signs){
var css_sign = signs[sign];
eval('if(bv '+sign+' v){classes.push("ie"+css_sign+new String(v).replace(".","-"));};');
}
});
body.addClass(classes.join(' '));
});Применять в css-файлах можно, например, так:
.my-class { ... стиль для нормальных браузеров ... }
body.ie .my-class{ ... стиль для ненормальных браузеров :) ... }
body.ie-gte-7.ie-lte-8 .my-class{ ... стиль для ишаков от 7 до 8 версии включительно ... }
Javascript в начале кода
Кто знает зачем этот код
<script language="JavaScript" type="text/javascript">
var DIR_WEB_ROOT = 'http://livestreet.ru';
var DIR_STATIC_SKIN = 'http://livestreet.ru/templates/skin/new-jquery';
var DIR_ROOT_ENGINE_LIB = 'http://livestreet.ru/engine/lib';
var LIVESTREET_SECURITY_KEY = '5d99568b7f60f44bb29906d9b44bf1c9';
var SESSION_ID = 'hjehm4g802uq5p0galbmeir735';
var BLOG_USE_TINYMCE = '';
var TINYMCE_LANG='en';
TINYMCE_LANG='ru';
var aRouter = new Array();
aRouter['error'] = 'http://livestreet.ru/error/';
aRouter['registration'] = 'http://livestreet.ru/registration/';
aRouter['profile'] = 'http://livestreet.ru/profile/';
aRouter['my'] = 'http://livestreet.ru/my/';
aRouter['blog'] = 'http://livestreet.ru/blog/';
aRouter['personal_blog'] = 'http://livestreet.ru/log/';
aRouter['top'] = 'http://livestreet.ru/top/';
aRouter['index'] = 'http://livestreet.ru/index/';
aRouter['new'] = 'http://livestreet.ru/new/';
aRouter['topic'] = 'http://livestreet.ru/topic/';
aRouter['login'] = 'http://livestreet.ru/login/';
aRouter['people'] = 'http://livestreet.ru/people/';
aRouter['settings'] = 'http://livestreet.ru/settings/';
aRouter['tag'] = 'http://livestreet.ru/tag/';
aRouter['talk'] = 'http://livestreet.ru/talk/';
aRouter['comments'] = 'http://livestreet.ru/comments/';
aRouter['rss'] = 'http://livestreet.ru/rss/';
aRouter['link'] = 'http://livestreet.ru/link/';
aRouter['question'] = 'http://livestreet.ru/question/';
aRouter['blogs'] = 'http://livestreet.ru/blogs/';
aRouter['search'] = 'http://livestreet.ru/search/';
aRouter['admin'] = 'http://livestreet.ru/admin/';
aRouter['ajax'] = 'http://livestreet.ru/ajax/';
aRouter['feed'] = 'http://livestreet.ru/feed/';
aRouter['stream'] = 'http://livestreet.ru/stream/';
aRouter['photoset'] = 'http://livestreet.ru/photoset/';
aRouter['article'] = 'http://livestreet.ru/article/';
aRouter['page'] = 'http://livestreet.ru/page/';
aRouter['alltopics'] = 'http://livestreet.ru/alltopics/';
aRouter['seolib'] = 'http://livestreet.ru/seolib/';
aRouter['articles'] = 'http://livestreet.ru/articles/';
aRouter['titles'] = 'http://livestreet.ru/titles/';
</script>
Скрипт Universal Subtitles - как интегрировать с блогом...
1
Есть такой очень полезный онлайн сервис universalsubtitles.org он позволяет вам взять любое видео из интернета, создать к нему субтитры прямо на сайте (или загрузить уже готовые). И потом встроить это видео — так что ваши субтитры будут идти поверх него, с возможностью выбора языков. (Чтобы добавлять субтитры на ютубе, к примеру, надо быть владельцем этого видео, а тут — не надо быть владельцем, просто идет наложение на стороннее видео)
Так вот, встраиваются видео почему-то только таким способом
Разумеется, это блокируется.
Вопрос: как переделать скрипт, чтобы будучи включённым в шаблоне сайта, в теле статей пользователи могли бы добавлять код вроде
{«video_url»: «www.youtube.com/watch?v=nTFEUsudhfs»}
(не важно какой, лишь бы его не зарубали на полпути)
и чтобы скрипт автоматически встраивал на это место видео.
Вообще, дайте пожалуйста наводку, в каком направлении двигаться. Я нечто подобное уже читал здесь. Там мелькала идея к создателям скрипта «напишите плагин». Но я не понял если честно.
Так вот, встраиваются видео почему-то только таким способом
<script type="text/javascript" src="http://s3.www.universalsubtitles.org/embed.js">
(
{"video_url": "http://www.youtube.com/watch?v=nTFEUsudhfs"}
)
</script>Разумеется, это блокируется.
Вопрос: как переделать скрипт, чтобы будучи включённым в шаблоне сайта, в теле статей пользователи могли бы добавлять код вроде
{«video_url»: «www.youtube.com/watch?v=nTFEUsudhfs»}
(не важно какой, лишь бы его не зарубали на полпути)
и чтобы скрипт автоматически встраивал на это место видео.
Вообще, дайте пожалуйста наводку, в каком направлении двигаться. Я нечто подобное уже читал здесь. Там мелькала идея к создателям скрипта «напишите плагин». Но я не понял если честно.
Несовместимость эффектов jquery с файлами .js от LiveStreet
Появилась необходимость подключить таб-эффект от jquery. Когда всё настроил и подключил библиотеки:
Эффект заработал как нужно, но на сайте перестали работать родные .js эффекты, такие как переключение в прямом эфире между комментариями и топиками, развертыванием формы добавления комментария и т.д. Когда отключаю эти библиотеки всё начинает работать.
Вопрос. Как подружить новые библиотеки jquery с родными .js файлами LiveStreet?
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.13.custom.min.js"></script>Эффект заработал как нужно, но на сайте перестали работать родные .js эффекты, такие как переключение в прямом эфире между комментариями и топиками, развертыванием формы добавления комментария и т.д. Когда отключаю эти библиотеки всё начинает работать.
Вопрос. Как подружить новые библиотеки jquery с родными .js файлами LiveStreet?
- -1
- 01 июля 2011, 16:13
- Fortunato2011
- 14
aceCheckBrowser - новая версия для особо продвинутых
17
Я уже писал про свой новый плагин aceCheckBrowser. Это плагин, который умеет проверять браузер, поддержку яваскрипта и даже подсовывать посетителю специальный шаблон, если тот зашел с мобильного устройства.
Но некоторым этого показалось мало. Хотелось знать о браузере больше, гораздо больше. Что ж, встречайте — новая версия плагина, который рассказывает о браузере все, что только можно рассказать. А если юзер с мобильника зашел — то и про мобилку его кое-что интересное рассказать может.
Читать дальше
Но некоторым этого показалось мало. Хотелось знать о браузере больше, гораздо больше. Что ж, встречайте — новая версия плагина, который рассказывает о браузере все, что только можно рассказать. А если юзер с мобильника зашел — то и про мобилку его кое-что интересное рассказать может.
Читать дальше
aceCheckBrowser - БЕСПЛАТНЫЙ плагин для проверки браузера посетителя сайта
8
Подобные плагины уже были. Но я решил написать свой, потому что:
а) хотел в одном плагине совместить несколько функций и сделать его максимально гибким
б) нужно было отработать новый механизм настройки плагина через админку.
И вот, что получилось в итоге.
Читать дальше
а) хотел в одном плагине совместить несколько функций и сделать его максимально гибким
б) нужно было отработать новый механизм настройки плагина через админку.
И вот, что получилось в итоге.
Читать дальше
Как добавить свой стиль в редактор сообщений
1
Хотелось бы добавить свои стили, чтобы при нажатии на кнопку в редакторе вставлялся определенный css-класс. Например,
Нашел такой код для выравнивания, но не знаю, как приписать к диву класс.
Пробовал писать div class=«777» вместо div align=«left», но так кнопка не работает.
Подскажите, пожалуйста :(
<div class="break">здесь текст</div>Нашел такой код для выравнивания, но не знаю, как приписать к диву класс.
<a href="#" onclick="lsPanel.putTagAround('topic_text','div align=left','div'); return false;" class="button">*</a> Пробовал писать div class=«777» вместо div align=«left», но так кнопка не работает.
Подскажите, пожалуйста :(