Files
oneapp_docs/assets/js/search-fix.js

57 lines
1.6 KiB
JavaScript
Raw Normal View History

2025-09-24 14:08:54 +08:00
// OneApp 文档站点搜索功能修复
(function() {
'use strict';
// 等待搜索功能加载
document.addEventListener('DOMContentLoaded', function() {
// 延时确保Material主题的搜索组件已初始化
setTimeout(function() {
initializeSearchFix();
}, 500);
});
function initializeSearchFix() {
// 检查搜索输入框是否存在
const searchInput = document.querySelector('.md-search__input');
if (searchInput) {
console.log('Search input found, search is working');
// 改善搜索体验
searchInput.addEventListener('focus', function() {
document.body.setAttribute('data-md-search-focus', '');
});
searchInput.addEventListener('blur', function() {
setTimeout(function() {
document.body.removeAttribute('data-md-search-focus');
}, 200);
});
} else {
console.warn('Search input not found');
}
// 检查搜索结果容器
const searchResults = document.querySelector('.md-search-result');
if (searchResults) {
console.log('Search results container found');
}
}
// 主题切换时确保搜索功能正常
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'attributes' &&
mutation.attributeName === 'data-md-color-scheme') {
// 主题切换后重新检查搜索功能
setTimeout(initializeSearchFix, 100);
}
});
});
// 观察主题变化
observer.observe(document.body, {
attributes: true,
attributeFilter: ['data-md-color-scheme']
});
})();