Для использования IntersectionObserver для отслеживания видимости элементов на странице, необходимо создать новый экземпляр IntersectionObserver и указать целевой элемент, которого нужно отслеживать. Затем необходимо задать колбэк функцию, которая будет вызываться при изменении видимости элемента. Например:
```javascript
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if(entry.isIntersecting) {
// Элемент стал видимым
console.log('Element is visible');
} else {
// Элемент перестал быть видимым
console.log('Element is not visible');
}
});
});
const targetElement = document.getElementById('target');
observer.observe(targetElement);
```
Чтобы настроить MutationObserver для отслеживания изменений на всей странице, можно создать экземпляр MutationObserver и выбрать корневой элемент для наблюдения всех изменений на странице. Для этого необходимо передать объект настроек `{ subtree: true }`, чтобы учитывать все изменения во всех дочерних элементах. Например:
```javascript
const observer = new MutationObserver((mutations) => {
mutations.forEach(mutation => {
console.log('Mutation detected:', mutation);
});
});
observer.observe(document.body, { subtree: true, childList: true, attributes: true, characterData: true });
```
Теперь MutationObserver будет отслеживать все изменения на странице, и вызывать колбэк функцию при каждом обнаружении изменения.