Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

lightbox для 3.1.4

Заметил что в версии IPB 3.4 все изображения открываются в lightbox. Тогда как в 3.1.4 в lightbox открываются лишь приаттаченные изображения.

Возможно ли это как то пофиксить?

Рекомендованные сообщения

  • Автор

Принцип скрипта следующий:

Кстати, этот скрипт работает только в темах, для сообщений. Можно ли такой же скрипт но только с фиксом для блогов?

Заметил, что в 3.4 нету листинга изображений в сообщении (если в нем несколько картинок). Подойдет ли этот скрипт для 3.4?

Подойдет ли этот скрипт для 3.4?

Нет. Там уже есть лайтбокс для инлайн изображений.

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

 

А как адаптировать этот скрипт, чтобы только листинг картинок остался?

Изменено пользователем Strategius

Если работает значит хорошо.

  • Автор

@siv1987,

Можно плиз изменить этот скрипт для Блогов? Плиз...

  • Автор

3. И самое важное - если изображение-превью, то нажимая на него, сразу картинка превью, то есть картинка в ссылке не срабатывает.

Эта проблема так и остаётся. Без решения её, оставлять Лайтбокс не имеет смысла...

  • 2 года спустя...
  • Автор

Самый простой вариант добавить lightbox через js, парсер форума 3.1 не имеет должного функционала.

Добавить в конце шаблона Темы -> topicViewTemplate

А как такой скрипт подкорректировать для приложения Links? Что бы листинг работал для всех изображений в записи?

<script type='text/javascript'>
// Описание
var lid = 0;
$$('.link_details img.bbc_img').each(function(img){
   var parent = img.up();
   if(parent.tagName.toLowerCase() == 'a'){
       if(/\.(jpe?g|gif|png|bmp)$/.test(parent.href)){
           parent.writeAttribute('rel', 'lightbox['+lid+'] ' + parent.readAttribute('rel').replace('external'));
       }
   }
   else{
       var a = new Element('a', {'rel': 'lightbox['+lid+']', 'href' : img.getAttribute('src')});
       img.wrap(a);
   }
});
// Комментарии
$$('.comment').each(function(elem){
   var pid = elem.select('.rep_bar')[0].readAttribute('id').replace('rep_comment_', '');
   elem.select('img.bbc_img').each(function(img){
       var parent = img.up();
       if(parent.tagName.toLowerCase() == 'a'){
           if(/\.(jpe?g|gif|png|bmp)$/.test(parent.href)){
               parent.writeAttribute('rel', 'lightbox['+pid+'] ' + parent.readAttribute('rel').replace('external'));
           }
       }
       else{
           var a = new Element('a', {'rel': 'lightbox['+pid+']', 'href' : img.getAttribute('src')});
           img.wrap(a);
       }
   });
});
</script>

  • Автор

@newbie,

Большое спасибо!

  • Автор

@newbie,

Хотел этот код также и для приложения Tutorials прикрепить, думал что замены lid на a_id (идентификатор статьи) и link_details на post_block хватит для работоспособности кода, однако нет, не сработала.

Подскажите где ещё заменить что бы код сработал и в приложение Tutorials.

<script type='text/javascript'>
// Описание
var a_id = 0;
$$('#article_body .post_block img.bbc_img').each(function(img){
   var parent = img.up();
   if(parent.tagName.toLowerCase() == 'a'){
       if(/\.(jpe?g|gif|png|bmp)$/.test(parent.href)){
           parent.writeAttribute('rel', 'lightbox['+a_id+'] ' + parent.readAttribute('rel').replace('external'));
       }
   }
   else{
       var a = new Element('a', {'rel': 'lightbox['+a_id+']', 'href' : img.getAttribute('src')});
       img.wrap(a);
   }
});

// Комментарии
$$('#article_comments .comment').each(function(elem){
   var pid = elem.readAttribute('id').replace('comment_id_', '');
   elem.select('img.bbc_img').each(function(img){
       var parent = img.up();
       if(parent.tagName.toLowerCase() == 'a'){
           if(/\.(jpe?g|gif|png|bmp)$/.test(parent.href)){
               parent.writeAttribute('rel', 'lightbox['+pid+'] ' + parent.readAttribute('rel').replace('external'));
           }
       }
       else{
           var a = new Element('a', {'rel': 'lightbox['+pid+']', 'href' : img.getAttribute('src')});
           img.wrap(a);
       }
   });
});
</script>

  • Автор

@newbie,

Большое спасибо!

  • 4 недели спустя...
  • Автор

Подскажите пожалуйста как сделать что бы Лайтбокс не срабатывал на изображениях которые находятся внутри ссылок. Какой то фикс отмены. А то ведь если изображение находиться внутри ссылки - всё, переход по ссылке не срабатывает, открывается именно изображение.

Очень нужно.

Ну видимо закоментировать или удалить строку

 

parent.writeAttribute('rel', 'lightbox['+a_id+'] ' + parent.readAttribute('rel').replace('external'));

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.