Метод destroy является важным инструментом управления
жизненным циклом экземпляра Driver в библиотеке Driver.js.
Он предназначен для полного завершения работы интерактивного руководства
по пользовательскому интерфейсу и освобождения ресурсов, связанных с
текущей сессией.
destroy полностью удаляет все DOM-элементы, которые были
созданы Driver.js для подсветки и подсказок, включая:
После вызова метода объект Driver становится неактивным, и дальнейшее использование старого экземпляра без повторной инициализации приведёт к ошибкам.
driver.destroy();
Где driver — это экземпляр Driver,
созданный через конструктор:
const driver = new Driver(options);
Метод destroy особенно полезен в следующих случаях:
Преждевременное завершение руководства Если
пользователь закрывает руководство до конца, вызов destroy
гарантирует корректное удаление всех элементов интерфейса и
предотвращение утечек памяти.
document.querySelector("#close-tour").addEventListener("click", () => {
driver.destroy();
});Повторное использование Driver Когда требуется полностью пересоздать шаги руководства, старый экземпляр необходимо уничтожить:
driver.destroy();
const newDriver = new Driver(newOptions);
newDriver.start();Динамические изменения страницы Если структура
DOM изменяется после запуска руководства, старый Driver может стать
некорректным. Вызов destroy перед созданием нового
экземпляра предотвращает конфликты.
destroy невозможно возобновить
старую сессию. Не следует использовать этот метод, если
планируется пауза или временное скрытие подсказок.reset или stop,
destroy полностью очищает все внутренние данные, включая
настройки и шаги.const driver = new Driver({
animate: true,
opacity: 0.75,
padding: 10,
stageBackground: "#ffffff"
});
// Определение шагов
driver.defineSteps([
{ element: "#step1", popover: { title: "Шаг 1", description: "Описание первого шага" } },
{ element: "#step2", popover: { title: "Шаг 2", description: "Описание второго шага" } }
]);
// Запуск
driver.start();
// Завершение при условии определённого события
document.querySelector("#end-tour").addEventListener("click", () => {
driver.destroy(); // полностью очищает интерфейс
});
Метод destroy обеспечивает безопасное и полное
завершение всех визуальных и функциональных компонентов Driver.js,
предотвращая накопление неиспользуемых элементов и потенциальные
конфликты с остальными скриптами на странице.