Данный скрытый текст содержит сомнение и уныние
Это уже из другой области вопрос.. Можно сделать - можно, будет сделано -
Момент с мессенджерами - это момент и популярности платформы, согласен, что момент с ссылкой тоже важен..
Единый форум поддержки |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Единый форум поддержки » Сделаем сервис лучше » Видео на форуме
Данный скрытый текст содержит сомнение и уныние
Это уже из другой области вопрос.. Можно сделать - можно, будет сделано -
Момент с мессенджерами - это момент и популярности платформы, согласен, что момент с ссылкой тоже важен..
Данный скрытый текст содержит сомнение и уныние
Боюсь, что эта задача затерялась с уходом Кернела.
Сохранил и её заново нам.
Частичное распознавание ссылок работает и сейчас, но как-то выборочно + только с открытыми разделами.
но как-то выборочно + только с открытыми разделами
Закрытые разделы и не могут, они от ботов закрыты, и должны скрываться.
Закрытые разделы и не могут, они от ботов закрыты, и должны скрваться.
Не, в их случае это действительно НЕ должно работать.
Просто поясняю, что в случае с закрытыми разделами - это изначально не ошибка. А вот с открытыми для гостей форумами причесать этот момент имеет смысл
Element
Это вроде не сервис, а софт для установки на свой сервер?
Это вроде не сервис, а софт для установки на свой сервер?
Ну, как вариант для Майбб)) Да, я подумал, что у них есть свой сервис..
Так.
Хотел проинформировать обратной связи для - и забыл.
Вопрос Макса посмотрели и пока отложили, так как его интеграция объективно упёрлась в другие задачи. Но галочку на его добавлении после них поставили.
Так.
Хотел проинформировать обратной связи для - и забыл.Вопрос Макса посмотрели и пока отложили, так как его интеграция объективно упёрлась в другие задачи. Но галочку на его добавлении после них поставили.
Спасибо, будем ждать и надеяться 
Тема про видео на форуме. Не совсем ясно , про кнопку "Видео" в форме ответа , или просто про все Видео.
Я про другую кнопку. Про HTML
Мало форумов предоставляет такую кнопку, а не просто code , которая еще и работает.
Это резко снижает необходимость добавления разных сервисов и новостных агентств
Отредактировано serega da (Ср, 8 Апр 2026 18:06:06)
serega da
Сервисы ежедневно модифицируются. Под каждый отдельный видео-сервис отслеживать и своевременно вносить изменения становится проблематично. Сейчас много сервисов позволяет "внедрять" свои ролики html-подобным способом. Кнопка "HTML в сообщениях" позволяет размещать видео без постоянных внесений изменений в парсер форума.
Reysler
Выше -- это не вопрос. Я знаю , для чего кнопка HTML . Я не могу вставить готовый код .
В форме ответа какая-то ошибка . Если "Вставка HTML", требует заполнить поле "Собщение", которого нет.
Исправьте форум.
Или обрезали эту возможность, или ошибка. Раньше "Вставка HTML" прекрасно работала. Работает и сейчас на других форумах myBB , не не здесь.
Отредактировано serega da (Ср, 8 Апр 2026 18:14:04)
serega da
Если вы испытываете сложности со вставкой HTML в сообщениях в режиме визуального редактора, переключитесь в стандартный режим BBCode (переключатель в форме ответа внизу слева на этом форуме).
[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)
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)
| Флэш плеер для видео на форуме. | Корзина | Ср, 20 Мар 2013 |
| Музыка и видео на форум | Корзина | Сб, 1 Дек 2007 |
| видео на форум | Корзина | Сб, 19 Дек 2009 |
| Можно ли загрузить видео на форум? | Корзина | Сб, 25 Авг 2007 |
| видеореклама в видео на форуме | Корзина | Чт, 25 Сен 2014 |
Вы здесь » Единый форум поддержки » Сделаем сервис лучше » Видео на форуме