В качестве временного решения, если кому-то нужно включать переключатель по умолчанию, вы можете добавить этот скрипт в свою тему (я разместил его внутри тега ). Он отслеживает изменения в результатах поиска с ИИ и затем включает отображение результатов ИИ. Это не самый чистый код; возможно, @awesomerobot предложит более элегантный способ решения этой задачи.
<script type="text/javascript">
// ЭТОТ СКРИПТ НЕОБХОДИМ ДЛЯ ВКЛЮЧЕНИЯ ПЕРЕКЛЮЧАТЕЛЯ, ЧТОБЫ ВКЛЮЧАТЬ РЕЗУЛЬТАТЫ ПОИСКА ОТ ИИ ПОСЛЕ ЗАВЕРШЕНИЯ ПОИСКА. УДАЛИТЕ ЕГО, КОГДА ПОЯВИТСЯ ВСТРОЕННАЯ ВОЗМОЖНОСТЬ ВКЛЮЧАТЬ ЭТО ПО УМОЛЧАНИЮ.
console.log('Скрипт загружен. Постоянный поиск .semantic-search__searching и управление наблюдателем.');
let searchObserver = null; // Переменная для хранения экземпляра наблюдателя
function observeSearchContainer() {
const searchStatusContainer = document.querySelector('.semantic-search__searching');
if (searchStatusContainer) {
// Если контейнер найден
if (!searchObserver) {
// Если наблюдатель еще не запущен, запускаем его
console.log('.semantic-search__searching найден. Запуск наблюдения.');
searchObserver = new MutationObserver(function(mutations) {
//console.log('Обнаружено изменение в .semantic-search__searching:', mutations);
mutations.forEach(function(mutation) {
// Проверка на соответствующие изменения внутри наблюдаемого контейнера
if (mutation.type === 'characterData') {
//console.log('Обнаружен соответствующий тип изменения. Попытка активировать функциональность кнопки переключения. ' + mutation.type);
const currentToggleButton = document.querySelector('button.d-toggle-switch__checkbox.semantic-search__results-toggle');
if (currentToggleButton) {
const isCurrentlyEnabled = currentToggleButton.getAttribute('aria-checked') === 'true';
if (!isCurrentlyEnabled) { // Если переключатель НЕ включен в данный момент
// Запускаем событие клика для активации связанной функциональности
currentToggleButton.click();
console.log('Событие клика по кнопке переключения запущено.');
} else {
console.log('Кнопка переключения уже включена.');
}
} else {
// Этот случай может возникнуть, если кнопка переключения удалена, пока контейнер еще присутствует
console.log('Кнопка переключения не найдена при попытке активировать функциональность.');
}
}
});
});
const config = { childList: true, subtree: true, characterData: true, attributes: true };
searchObserver.observe(searchStatusContainer, config);
console.log('MutationObserver запущен на .semantic-search__searching.');
} else {
// Контейнер найден, и наблюдатель уже запущен для него
//console.log('.semantic-search__searching найден, наблюдатель уже активен.');
}
} else {
// Если контейнер НЕ найден
if (searchObserver) {
// Если наблюдатель ранее был запущен, это означает, что контейнер был удален
console.log('.semantic-search__searching удален. Отключение наблюдателя.');
searchObserver.disconnect(); // Остановить наблюдение
searchObserver = null; // Сбросить переменную наблюдателя
} else {
// Контейнер не найден, и наблюдатель не активен (правильное состояние)
//console.log('.semantic-search__searching пока не найден.');
}
}
}
// Используем интервал для периодической проверки существования контейнера
const containerCheckInterval = setInterval(observeSearchContainer, 500); // Проверка каждые 500 миллисекунд
</script>