108 lines
3.1 KiB
HTML
108 lines
3.1 KiB
HTML
<!-- Кастомный HTML для Jitsi Meet -->
|
||
<!-- Этот файл добавляется в body страницы -->
|
||
|
||
<style>
|
||
/* АГРЕССИВНО скрываем ВСЕ логотипы и водяные знаки Jitsi */
|
||
.leftwatermark,
|
||
.rightwatermark,
|
||
.watermark,
|
||
.jitsi-watermark,
|
||
[id*="watermark"],
|
||
[class*="watermark"],
|
||
[class*="Watermark"],
|
||
[data-testid*="watermark"] {
|
||
display: none !important;
|
||
visibility: hidden !important;
|
||
opacity: 0 !important;
|
||
width: 0 !important;
|
||
height: 0 !important;
|
||
}
|
||
|
||
/* Скрываем брендинг в footer и header */
|
||
.subject-info-container,
|
||
.footer,
|
||
.header,
|
||
[class*="footer"],
|
||
[class*="header"],
|
||
[id*="footer"],
|
||
[id*="header"] {
|
||
display: none !important;
|
||
}
|
||
|
||
/* Скрываем powered by Jitsi */
|
||
.powered-by,
|
||
.poweredby,
|
||
[class*="powered"],
|
||
[class*="Powered"],
|
||
[id*="powered"] {
|
||
display: none !important;
|
||
visibility: hidden !important;
|
||
}
|
||
|
||
/* Скрываем мобильные баннеры */
|
||
.mobile-banner,
|
||
.app-promo,
|
||
[class*="mobile"],
|
||
[class*="promo"],
|
||
[class*="Mobile"],
|
||
[class*="Promo"] {
|
||
display: none !important;
|
||
}
|
||
|
||
/* Скрываем все элементы с текстом "Jitsi" */
|
||
*:contains("Jitsi"),
|
||
*[aria-label*="Jitsi"],
|
||
*[title*="Jitsi"] {
|
||
display: none !important;
|
||
}
|
||
|
||
/* Кастомизация цветов (опционально) */
|
||
:root {
|
||
--primary-color: #3B82F6;
|
||
--secondary-color: #1E40AF;
|
||
}
|
||
</style>
|
||
|
||
<script>
|
||
// Дополнительный JavaScript для скрытия логотипов после загрузки страницы
|
||
(function() {
|
||
function hideWatermarks() {
|
||
// Ищем все элементы с водяными знаками
|
||
const selectors = [
|
||
'[class*="watermark"]',
|
||
'[id*="watermark"]',
|
||
'[class*="Watermark"]',
|
||
'.leftwatermark',
|
||
'.rightwatermark',
|
||
'.jitsi-watermark'
|
||
];
|
||
|
||
selectors.forEach(selector => {
|
||
document.querySelectorAll(selector).forEach(el => {
|
||
el.style.display = 'none';
|
||
el.style.visibility = 'hidden';
|
||
el.style.opacity = '0';
|
||
});
|
||
});
|
||
}
|
||
|
||
// Выполняем сразу и после загрузки DOM
|
||
if (document.readyState === 'loading') {
|
||
document.addEventListener('DOMContentLoaded', hideWatermarks);
|
||
} else {
|
||
hideWatermarks();
|
||
}
|
||
|
||
// Также выполняем периодически на случай динамической загрузки
|
||
setInterval(hideWatermarks, 500);
|
||
|
||
// Используем MutationObserver для отслеживания изменений DOM
|
||
const observer = new MutationObserver(hideWatermarks);
|
||
observer.observe(document.body, {
|
||
childList: true,
|
||
subtree: true
|
||
});
|
||
})();
|
||
</script>
|
||
|