При работе с элементами внутри iframe, содержащего React, обычные методы доступа к элементам, такие как `getElementById` или `getElementsByClassName`, не всегда срабатывают из-за особенностей работы React.
Для решения данной проблемы, можно использовать метод `contentWindow`, чтобы получить доступ к содержимому iframe, а затем уже использовать методы доступа к элементам внутри него.
Вот как можно скрыть кнопку "Чат" на сайте foxford.ru во время просмотра вебинара:
```javascript
// ==UserScript==
// @name Hide Chat Button on foxford.ru
// @namespace Violentmonkey Scripts
// @match https://foxford.ru/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Ждем, пока страница полностью загрузится
window.onload = function() {
// Получаем iframe, содержащий вебинар
var iframe = document.getElementById('webinar-iframe');
// Проверяем, что iframe существует
if (iframe) {
// Получаем содержимое iframe
var iframeDocument = iframe.contentWindow.document;
// Находим кнопку "Чат" внутри iframe и скрываем ее
var chatButton = iframeDocument.getElementsByClassName('chat__root__2zsMF')[0];
if (chatButton) {
chatButton.style.display = 'none';
}
}
};
})();
```
Прежде всего, мы ожидаем полной загрузки страницы с помощью `window.onload`, чтобы убедиться, что iframe уже существует. Затем мы используем `getElementById`, чтобы получить доступ к iframe с идентификатором `webinar-iframe`.
После этого мы получаем содержимое iframe с помощью `contentWindow.document` и внутри этого документа мы ищем элемент кнопки "Чат" с помощью `getElementsByClassName`. Если кнопка найдена, мы скрываем ее, устанавливая свойство `display` на `none`.
Сохраните данный код в userscript, установите его в Tampermonkey для Chrome и кнопка "Чат" должна скрыться при просмотре вебинара на сайте foxford.ru.