Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Exception

Актив
  • Регистрация

Everything posted by Exception

  1. тогда пока так, nbsp он точно удаляет, чуть позже гляну что еще можно сделать: <script type='text/javascript'> $( document ).ready(function() { $('html body').find('div[data-role="commentContent"]').find('p:last').each( function () { if( $(this).prev().length == 1 && $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); } }); }); </script>
  2. Проверил тут, работает вроде: <script type='text/javascript'> $( document ).ready(function() { $('html body').find('div[data-role="commentContent"]').find('p:last').each( function () { if( $(this).prev().length == 1 && $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); $(this).unwrap() } }); }); </script> а нет, немного не то поведение
  3. betastarz а так, поиск нужных элементов максимально расширил: <script type='text/javascript'> $( document ).ready(function() { $('html body').find('.ipsComment').find('p:last').each( function () { if( $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); } }); }); </script>
  4. в консоли браузера есть ошибки?
  5. скорее всего не находит нужные элементы, попробуй тогда так, скрипт теперь ждет полной готовности страницы: <script type='text/javascript'> $( document ).ready(function() { $('#ipsLayout_contentArea').find('div[data-role="commentContent"]').find('p:last').each( function () { if( $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); } }); }); </script>
  6. <script type='text/javascript'> $('#ipsLayout_contentArea').find('div[data-role="commentContent"]').find('p:last').each( function () { if( $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); } }); </script>
  7. В ранних версиях блоки кэшировались в зависимости от настроек кэширования блоков . Либо писать хук, либо можешь сам изменить, он находится тут \applications\forums\widgets\forumStatistics.php
  8. Я посчитал что в редакторе он все же нужен, мало ли захочется ввести текст или еще что под видео. Скрипт циклом проверяет все сообщения на странице и удаляет этот nbsp если дальше нету других тегов.
  9. он удалять должен в постах которые уже отправлены
  10. этот блок кэшируется на 24 часа /** * @brief Cache Expiration - 24h */ public $cacheExpiration = 86400;
  11. в самый конец вставь после {{endif}}
  12. в шаблонах вбей просто, он найдет
  13. или можно так, вставь это в includeJS <script type='text/javascript'> $('#ipsLayout_contentArea').find('.ipsEmbeddedVideo').each( function () { if( $(this).next("p:contains('')").next().length == 0 ){ $(this).next("p:contains('')").remove(); } }); </script> удаляет nbsp если дальше нет тегов
  14. его удалить можно при добавлении
  15. .ipsEmbeddedVideo { margin: 10px 0 10px 0; }
  16. очистка системных логов на сколько установлена? Можно узнать вес таблиц, например командой SELECT table_name AS `Table`, round(((data_length + index_length) / 1024), 2) `Size in KB` FROM information_schema.TABLES WHERE table_schema = "DBName"; DBName - имя базы
  17. Можно выставить 1 запрос = 5 секунд, или 1-2 минуты, я страницы чаще обновляю когда по форуму ползаю. Тем более опять же если есть редис, запросы идут к нему, в запросе формируется двумерный массив, данных немного. Для большого форума такие запросы ничто. Тем более сам IPS очень статичен и ajax редко используется. Например стандартно, если покопаться, идут запросы ~1-2мин на получение новых уведомлений, или, например, когда ты находишься в теме, на получение новых ответов (чтобы потом нажать кнопку показать ответы) и т.д. Не знаю как там с темами, но в виджете посетителей, мой ajax пока что только достает готовые данные сессии (не заставляет их обновиться), которые формирует сам движок когда пользователь заходит в тему или пишет что.
  18. Надеюсь ты это не с серьезным лицом писал? Тем, что добавил обновление на ajax. Обновление пользователей происходит на лету, не нужно перезагружать страницу, а все новые подключенные пользователи отобразятся сразу. Так же дописал js который аккуратно добавляет и удаляет пользователей: Так же ajax обновляет статус пользователя если он что-то пишет в редакторе: Экспериментирую пока что со всем этим, но заставил этот виджет работать так, как он должен работать. Еще можно вместе с ajax запросом обновлять саму сессию, чтобы если пользователь даже не активен, оставался в ней. Т.е. будет уже эмуляция "активной онлайн локации" где пользователи отображаются как в дискорде например в комнате, пока её не покинут. Сейчас ips удаляет таких из сессии. Данные хранятся в редисе если он есть, т.е. можно спокойно долбить его запросами.
  19. Как тебе такое, Илон Макс на гифке грузится долговато, ибо это тестовый сервер на харде В реалиях отправляются аяксы с заданной частотой (от 1 секунды и т.д. можно задать самому) на получение пользователей в реальном времени которые находятся на странице. Так же отключено кеширование данного блока совсем.
  20. Вполне логично, виджеты же кэшируются. Вопрос скорее в том, почему они не могут сделать надстройку для таких виджетов чтобы они не кэшировались или запрос выполнялся средствами ajax
  21. Переписывать код виджета. В последней версии добавили отображение твоего ника ВСЕГДА если ты на странице, это сделано через js и не влияет на других пользователей.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.