Como solución temporal si alguien necesita habilitar el botón de alternancia de forma predeterminada, puede agregar este script a su tema (lo he puesto debajo de <body />) que básicamente busca un cambio en los resultados de búsqueda de IA y luego habilita los resultados de IA. Este no es el código más limpio, tal vez @awesomerobot tenga una forma más elegante de hacerlo.
<script type="text/javascript">
// ESTE SCRIPT ES PARA HABILITAR EL BOTÓN DE ALTERNANCIA PARA INCLUIR RESULTADOS DE BÚSQUEDA DE IA DESPUÉS DE QUE LA BÚSQUEDA SE COMPLETE - ELIMINAR UNA VEZ QUE HAYA UNA OPCIÓN NATIVA PARA HABILITAR ESTO DE FORMA PREDETERMINADA
console.log('Script cargado. Buscando continuamente .semantic-search__searching y gestionando el observador.');
let searchObserver = null; // Variable para mantener la instancia del observador
function observeSearchContainer() {
const searchStatusContainer = document.querySelector('.semantic-search__searching');
if (searchStatusContainer) {
// Si se encuentra el contenedor
if (!searchObserver) {
// Si aún no se está ejecutando un observador, inicie uno
console.log('Se encontró .semantic-search__searching. Iniciando observación.');
searchObserver = new MutationObserver(function(mutations) {
//console.log('Mutación detectada en .semantic-search__searching:', mutations);
mutations.forEach(function(mutation) {
// Comprobar mutaciones relevantes dentro del contenedor observado
if (mutation.type === 'characterData') {
//console.log('Tipo de mutación relevante detectado. Intentando activar la funcionalidad del botón de alternancia. ' + 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) { // Si el botón de alternancia NO está habilitado actualmente
// Disparar un evento de clic para activar la funcionalidad asociada
currentToggleButton.click();
console.log('Se disparó el evento de clic del botón de alternancia.');
} else {
console.log('El botón de alternancia ya está habilitado.');
}
} else {
// Este caso podría ocurrir si el botón de alternancia se elimina mientras el contenedor todavía está presente
console.log('No se encontró el botón de alternancia al intentar activar la funcionalidad.');
}
}
});
});
const config = { childList: true, subtree: true, characterData: true, attributes: true };
searchObserver.observe(searchStatusContainer, config);
console.log('MutationObserver iniciado en .semantic-search__searching.');
} else {
// Se encontró el contenedor y el observador ya está activo para él
//console.log('Se encontró .semantic-search__searching, observador ya activo.');
}
} else {
// Si NO se encuentra el contenedor
if (searchObserver) {
// Si un observador se estaba ejecutando previamente, significa que el contenedor fue eliminado
console.log('Se eliminó .semantic-search__searching. Desconectando observador.');
searchObserver.disconnect(); // Detener la observación
searchObserver = null; // Restablecer la variable del observador
} else {
// No se encontró el contenedor y no hay observador activo (estado correcto)
//console.log('Aún no se encontró .semantic-search__searching.');
}
}
}
// Usar un intervalo para verificar periódicamente la existencia del contenedor
const containerCheckInterval = setInterval(observeSearchContainer, 500); // Verificar cada 500 milisegundos
</script>