Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Сделаем сервис лучше » Видео на форуме


Видео на форуме

Сообщений 101 страница 115 из 115

101

Merlin777 написал(а):

Данный скрытый текст содержит сомнение и уныние

Это уже из другой области вопрос.. Можно сделать - можно, будет сделано - :dontknow: Момент с мессенджерами - это момент и популярности платформы, согласен, что момент с ссылкой тоже важен..

+2

102

Merlin777 написал(а):

Данный скрытый текст содержит сомнение и уныние

Боюсь, что эта задача затерялась с уходом Кернела.
Сохранил и её заново нам.

Частичное распознавание ссылок работает и сейчас, но как-то выборочно + только с открытыми разделами.

+1

103

Ну, а так, если с телеграмом сделают как с ватцапом, то вот варианты замены кроме Макса:
- BIP
- IMO
- Element
- eXpress

+2

104

Arakhen написал(а):

но как-то выборочно + только с открытыми разделами

Закрытые разделы и не могут, они от ботов закрыты, и должны скрываться.

+1

105

kolobdur74 написал(а):

Закрытые разделы и не могут, они от ботов закрыты, и должны скрваться.

Не, в их случае это действительно НЕ должно работать.

Просто поясняю, что в случае с закрытыми разделами - это изначально не ошибка. А вот с открытыми для гостей форумами причесать этот момент имеет смысл

+1

106

kolobdur74 написал(а):

Element

Это вроде не сервис, а софт для установки на свой сервер?

+1

107

Merlin777 написал(а):

Это вроде не сервис, а софт для установки на свой сервер?

Ну, как вариант для Майбб)) Да, я подумал, что у них есть свой сервис..

0

108

Так.
Хотел проинформировать обратной связи для - и забыл.

Вопрос Макса посмотрели и пока отложили, так как его интеграция объективно упёрлась в другие задачи. Но галочку на его добавлении после них поставили.

+3

109

Arakhen написал(а):

Так.
Хотел проинформировать обратной связи для - и забыл.

Вопрос Макса посмотрели и пока отложили, так как его интеграция объективно упёрлась в другие задачи. Но галочку на его добавлении после них поставили.

Спасибо, будем ждать и надеяться  :flirt:

0

110

Тема про видео на форуме. Не совсем ясно , про кнопку "Видео" в форме ответа , или просто про все Видео.
Я про другую кнопку. Про HTML
Мало форумов предоставляет такую кнопку, а не просто code , которая еще и работает.
Это резко снижает необходимость добавления разных сервисов и новостных агентств

Отредактировано serega da (Ср, 8 Апр 2026 18:06:06)

0

111

serega da
Сервисы ежедневно модифицируются. Под каждый отдельный видео-сервис отслеживать и своевременно вносить изменения становится проблематично. Сейчас много сервисов позволяет "внедрять" свои ролики html-подобным способом. Кнопка "HTML в сообщениях" позволяет размещать видео без постоянных внесений изменений в парсер форума.

0

112

Reysler
Выше -- это не вопрос. Я знаю , для чего кнопка HTML . Я не могу  вставить  готовый  код  .

В форме ответа какая-то ошибка . Если "Вставка HTML", требует заполнить поле "Собщение", которого нет.
Исправьте форум.
Или обрезали эту возможность, или ошибка. Раньше "Вставка HTML" прекрасно работала. Работает и сейчас на других форумах myBB , не не здесь.

Отредактировано serega da (Ср, 8 Апр 2026 18:14:04)

0

113

serega da
Если вы испытываете сложности со вставкой HTML в сообщениях в режиме визуального редактора, переключитесь в стандартный режим BBCode (переключатель в форме ответа внизу слева на этом форуме).

+1

114

[html]
<!DOCTYPE html>
<html lang="ru">
<head>

<style>
html  { scrollbar-width: none;
           overflow: auto;}

body {
   overflow-x: hidden;
}

body div { transform-style: preserve-3d;}

@keyframes RotateX-plus30minus30 {
   0%     { transform: rotateX(   0deg); }
   6%     { transform: rotateX(-5deg); }
   14%   { transform: rotateX( 10deg); }
   24%   { transform: rotateX(-20deg); }
   34%   { transform: rotateX( 25deg); }
   46%   { transform: rotateX(-30deg); }
   58%   { transform: rotateX( 30deg); }
   68%   { transform: rotateX(-25deg); }
   76%   { transform: rotateX( 20deg); }
   84%   { transform: rotateX(-10deg); }
   92%   { transform: rotateX(   5deg); }
   100% { transform: rotateX(   0deg); }
}
@keyframes RotateZ-plus0plus30 {
   0%     { transform: rotateZ(0deg); }
   6%     { transform: rotateZ(5deg); }
   14%   { transform: rotateZ(10deg); }
   24%   { transform: rotateZ(20deg); }
   34%   { transform: rotateZ(10deg); }
   44%   { transform: rotateZ(30deg); }
   100% { transform: rotateZ(0deg); }
}
@keyframes RotateYo {
   to { transform: rotateY(360deg); }
}
#LayoutGrid,
#LayoutGrid-X,
#Container-Y {
   /* will-change: transform; */
    transform-style: preserve-3d;
    pointer-events: none;
}
#animZ {
   /* will-change: transform; */
    transform-style: preserve-3d;
}
#LayoutGrid {
    position: relative;
    transform-origin: center bottom;
    perspective: 2000px;
    animation: RotateZ-plus0plus30 40s ease-in-out infinite;
}
#LayoutGrid-X {
   text-align: center;
   transform-origin: center top;
   animation: RotateX-plus30minus30 30s ease-in-out infinite ;
}
#Container-Y {
   transform-origin: center top;
   animation: RotateYo 32s cubic-bezier(0.7, -0.6, 0.3, 1.6) infinite ;
}
#animZ {
   pointer-events: auto;
/*   transform: translateZ(0);*/
   transition: transform 1s ease-in-out;
   touch-action: manipulation;        /* wait 300ms off , no double tap */
   transform-origin: center top;
   cursor: pointer;
}
@media (pointer: coarse) {            /* MOBILE */
    #animZ {
        transition: none;            /* без задержки перехода, тап мгновенный */
        -webkit-tap-highlight-color: transparent;    /* убрать подсветку тапа */
    }
}
.text, .rotator {
          position: absolute;
          bottom: 0;
          transform-origin: center top;
}
.text {
          font-family: Arial, sans-serif;
          font-size: 2rem;
          text-wrap: nowrap;
          color: white;
          font-weight: 900;
          animation: RotateX-plus30minus30 12s ease-in-out infinite ;
}
.rotator {
         transform: translateZ(20px);
}
@media (hover: hover) and (pointer: fine) {        /* DESKTOP (Мышь + Ховер) */
    #animZ:hover {
        transform: translateZ(-50px); }
}
</style>
</head>
                             <!-- Скрипт-обработчик клика , no defer -->
<script src="https://seregasmyfavoritesites.on.drv.tw/Site/js/glass-short.js"></script>
<script>
(() => {
    let audio;
    let unlocked = false;

    const initAudio = () => {
        if (audio || typeof glassShortData === 'undefined') return;
        audio = new Audio(`data:audio/mpeg;base64,${glassShortData}`);
        audio.preload = 'auto';
        audio.preservesPitch = false;
        audio.volume = 0.7;
    };

    const unlock = () => {
        if (unlocked) return;
        initAudio();
        if (audio) {
            audio.play().then(() => {
                audio.pause();
                audio.currentTime = 0;
                unlocked = true;
            }).catch(() => {});
        }
    };

    document.addEventListener('pointerdown', unlock, { once: true });

    window.addEventListener('load', () => {
        document.addEventListener('click', (e) => {
            if (e.target.closest('iframe')) return;
            initAudio();
            if (!audio) return;
            audio.playbackRate = Math.random() * 1.0 + 0.2;
            audio.currentTime = 0;
            audio.play().catch(() => {
                unlocked = false;
                unlock();
            });
        });
    });
})();
</script>

<body>
    <div id="LayoutGrid">
         <div class="text">КНОПКА !</div>
         <div id="LayoutGrid-X">
               <div id="Container-Y">
                      <div class="rotator">
                              <div class="text" style="bottom: 0;">Попади в нее</div>
                      </div>
                                            <div id="animZ" style="width: 100vw; max-width: 100%; margin: 0 auto; pointer-events: auto; aspect-ratio: 16 / 9;">
                               <iframe width="100%" height="100%" src="https://www.youtube.com/embed/4mbMHhW4FNI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
                      </div>
               </div>
         </div>
         <div height="200px"></div>
   </div>
</body>
</html>
[/html]

Отредактировано serega da (Сегодня 15:35:54)

0

115

Alex_63 , WYSIWYG вполне рабочий и удобный . Надо просто сложные блоки обвести в рамку, чтобы не пропадал . Этого достаточно.

Код:

[html]
<!DOCTYPE html>
<html lang="ru">
<head>

<style>
html  { scrollbar-width: none;
           overflow: auto;}

body {
   overflow-x: hidden;
}

body div { transform-style: preserve-3d;}

@keyframes RotateX-plus30minus30 {
   0%     { transform: rotateX(   0deg); }
   6%     { transform: rotateX(-5deg); }
   14%   { transform: rotateX( 10deg); }
   24%   { transform: rotateX(-20deg); }
   34%   { transform: rotateX( 25deg); }
   46%   { transform: rotateX(-30deg); }
   58%   { transform: rotateX( 30deg); }
   68%   { transform: rotateX(-25deg); }
   76%   { transform: rotateX( 20deg); }
   84%   { transform: rotateX(-10deg); }
   92%   { transform: rotateX(   5deg); }
   100% { transform: rotateX(   0deg); }
}
@keyframes RotateZ-plus0plus30 {
   0%     { transform: rotateZ(0deg); }
   6%     { transform: rotateZ(5deg); }
   14%   { transform: rotateZ(10deg); }
   24%   { transform: rotateZ(20deg); }
   34%   { transform: rotateZ(10deg); }
   44%   { transform: rotateZ(30deg); }
   100% { transform: rotateZ(0deg); }
}
@keyframes RotateYo {
   to { transform: rotateY(360deg); } 
}
#LayoutGrid,
#LayoutGrid-X,
#Container-Y {
   /* will-change: transform; */
    transform-style: preserve-3d;
    pointer-events: none;
}
#animZ {
   /* will-change: transform; */
    transform-style: preserve-3d;
}
#LayoutGrid {
    position: relative;
    transform-origin: center center;
    perspective: 2000px;
    animation: RotateZ-plus0plus30 40s ease-in-out infinite;
}
#LayoutGrid-X {
   text-align: center;
   transform-origin: center center;
   animation: RotateX-plus30minus30 30s ease-in-out infinite ;
}
#Container-Y {
   transform-origin: center center;
   animation: RotateYo 32s cubic-bezier(0.7, -0.6, 0.3, 1.6) infinite ;
}
#animZ {
   pointer-events: auto;
/*   transform: translateZ(0);*/
   transition: transform 1s ease-in-out;
   touch-action: manipulation;	/* wait 300ms off , no double tap */
   transform-origin: center center;
}
.text, .rotator {
          position: absolute;
          bottom: 0;
          transform-origin: center top;
}
.text {
          font-family: Arial, sans-serif;
          font-size: 2rem;
          text-wrap: nowrap; 
          color: white;
          font-weight: 900;
          animation: RotateX-plus30minus30 12s ease-in-out infinite ; 
}
.rotator {
         transform: translateZ(20px);
}
@media (hover: hover) and (pointer: fine) {/* DESKTOP (Мышь + Ховер) */
    #animZ:hover {
        transform: translateZ(-50px); }
}
@media (pointer: coarse) {	/* MOBILE */
    #animZ:active {
        transform: scale(0.9);
    }
}
</style>
</head>
                             <!-- Скрипт-обработчик клика , no defer -->
<script src="https://seregasmyfavoritesites.on.drv.tw/Site/js/glass-short.js"></script>
<script>
(() => {
    window.addEventListener('load', () => {
        if (typeof glassShortData === 'undefined') return;
        const sound = new Audio("data:audio/mpeg;base64," + glassShortData);// постоянный объект
        sound.preservesPitch = false;
        sound.volume = 0.7;
        document.addEventListener('click', (e) => {
            if (e.target.closest('button, a, input, iframe')) return;
            sound.playbackRate = Math.random() * (1.1 - 0.2) + 0.2;
            sound.currentTime = 0;
            sound.play().catch(() => {});
        });
    });
})();
</script>

<body>
    <div id="LayoutGrid">
         <div class="text">КНОПКА !</div>
         <div id="LayoutGrid-X">
               <div id="Container-Y">
                      <div class="rotator">
                              <div class="text" style="bottom: 0;">Попади в нее</div>
                      </div>
                      <div id="animZ" style="width: 800px; max-width: 100%; margin: 0 auto; pointer-events: auto;">
                              [video]https://www.youtube.com/watch?v=4mbMHhW4FNI[/video]
                      </div>
               </div>
         </div>
         <div height="200px"></div>
   </div>
</body>
</html>
[/html]

надо уточнить, что конечно ['HTML'] будет работать только на форумах myBB.ru . Для других форумах видео надо оборачивать в (iframe)  и указывать размеры. Чуть больше работы. Зато там много полезных  allow="autoplay, ..."

О пользе Сроков Редактирования:  Здесь видно, что слова брошены на произвол. Привязаны ко дну, это все. Недавно вышло новое CSS Anchor Position . Позволяет привязываться точно к элементу. Но поддержка еще не скоро. Потом еще что-то выйдет.
Поэтому для кода нужны длинные сроки.

JS (звук на document ). Работает  :) . Звук надо проверить на Андроид. Весь код изолирован  ()() для форума.
Звук в base64  можно скопировать. Чтобы я его не потерял.

Плеер выше работает  on Android , но как-то неуверенно.
Где-то лишнее pointer-event: none; Но translateZ работает. Это плохо  :) .
В этом Андроид сложно -- чтобы обновить кеш браузера, надо полностью сбрасывать его данные. Жёсткая система, помнит все.
UPD: код работает на Андроид. такой четкости, с 1 клика , как везде на видео, пока нет. И здесь все наоборот:  опять обрезка по Z, не хватает pointer-event: none;  :)
Вечером буду исправлять.

Отредактировано serega da (Вчера 18:53:15)

0


Вы здесь » Единый форум поддержки » Сделаем сервис лучше » Видео на форуме