2.8 KiB
2.8 KiB
2026-07-17 工作记录
- 修复搜索结果表格显示异常:
- 问题:搜索只显示文件名(如 SimHei.ttf),缺少 Size、Last modified 列,且点击后 404。
- 根因:
render()直接把抓取到的tr.outerHTML拼进新表格,浏览器解析时<tr>不能作为<div>子元素,导致div.firstChild是文本节点,href未正确替换,最终只渲染出孤立文件名。 - 修复:在
theme/header.html和theme-preview.html的crawl()中改为提取结构化数据{ name, full, isDir, size, date },render()手动生成完整 4 列表格行,并用escapeHtml()处理输出;链接统一用绝对路径full,兼容 href 已以/开头的情况。
- 修复搜索结果中目录名双斜杠:原
render()对目录无条件追加/,而 fancyindex 的链接文本本身已带/,导致client-v1.3.7//。改为仅在e.name不以/结尾时才追加/。同步更新theme/header.html与theme-preview.html。 - 说明:Directory 面包屑显示的是当前页面 URL 路径,搜索时 URL 不变,所以面包屑保持当前目录路径是正确行为;点击搜索结果进入子目录后才会更新。
- 新增「返回根目录」按钮:位于搜索框右侧,
.search-form改为 flex 布局,.home-btn(accent 色胶囊按钮 + home 图标 + 文字),href="/";窄屏 (<=480px) 只显示图标。改动在theme/header.html、theme-preview.html、theme/css/styles.css。 - 新增「返回上一级目录」按钮:位于搜索框左侧,
initUpBtn()用 JS 根据location.pathname计算父目录并写入href(如 /a/b/ -> /a/)。.up-btn用 outline 风格(透明底 + border)与根目录实心按钮区分;窄屏只显示图标。改动同上三文件。 - 修复「上一级」按钮不显示:
initUpBtn()原在file://预览或站点根目录时display:none,导致预览和根目录页看不到按钮。改为始终显示:预览时href="#"仅展示;http(s) 下根目录href="/"、子目录指向上级path.slice(0, idx+1)。 - 关键部署修正:
theme/header.html第 1 行的 CSS 链接原本指向远程https://repo.52or.com/fancyindex/styles.css,导致本地theme/css/styles.css的样式(含.up-btn/.home-btn)在服务器上不生效。已改为/theme/css/styles.css,与fancyindex.conf的/theme/...约定一致,主题自包含。 - 修复按钮被旧 CSS 缓存导致换行:截图显示「上一级」与「根目录」垂直堆叠、且输入框未同行,说明浏览器仍在用旧的(或未同步的)CSS,
.search-form {display:flex}未生效。给 CSS 链接加?v=3缓存戳,并在<form>上内联style="display:flex;justify-content:center;align-items:center;gap:10px;"作为兜底。同步更新theme/header.html与theme-preview.html。