指标
First Contentful Paint
1.6 秒
First Contentful Paint 标记了绘制出首个文本或首张图片的时间。详细了解 First Contentful Paint 指标。
Largest Contentful Paint
1.8 秒
Largest Contentful Paint 标记了绘制出最大文本或图片的时间。详细了解 Largest Contentful Paint 指标
Total Blocking Time
50 毫秒
当任务用时超过 50 毫秒时计算 FCP 和 Time to Interactive 之间的所有时间段的总和,以毫秒表示。详细了解 Total Blocking Time 指标。
Cumulative Layout Shift
0.046
Cumulative Layout Shift 旨在衡量可见元素在视口内的移动情况。详细了解 Cumulative Layout Shift 指标。
- Captured at 2025年7月15日 GMT+8 14:44
- 模拟了 Moto G 电源 with Lighthouse 12.7.1未节流限制的 CPU/内存功耗: 565 CPU 节流: 1.2x slowdown (Simulated) 屏幕模拟: 412x823, DPR 1.75 Axe 版本: 4.10.3
- 单页会话此数据是取自单页会话,现场数据则是汇总了许多次会话。
- 初始网页加载
- 低速 4G 节流网络节流: 150毫秒 TCP RTT, 1,638.4 kb/秒 throughput (Simulated) 浏览器位置:亚洲
- Using HeadlessChromium 137.0.7151.119 with lr用户代理(网络): "Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36"
Later this year, insights will replace performance audits. Learn more and provide feedback here.
显示与所选指标相关的评估结果:
Insights
文档请求延迟 有望节省 2,740 毫秒
您的第一个网络请求最为重要。您可通过避免重定向、确保服务器快速响应以及启用文本压缩,缩短其延迟时间。LCPFCP
- 避免重定向
- Server responded slowly (observed 2841 ms)
- 应用文本压缩
使用高效的缓存生命周期 有望节省 844 KiB
请求 | 缓存 TTL | 传输文件大小 |
|---|---|---|
oolaf.top 第一方 | 844 KiB | |
…fonts/regular.04b7837.otf (www.oolaf.top) | None | 764 KiB |
…js/app.a241747….js (www.oolaf.top) | None | 47 KiB |
…js/2.e905c53….js (www.oolaf.top) | None | 14 KiB |
…fonts/Pacifico-Regular.cb3943c.ttf (www.oolaf.top) | None | 13 KiB |
…css/app.a353524….css (www.oolaf.top) | None | 4 KiB |
…css/2.b5993b6….css (www.oolaf.top) | None | 1 KiB |
布局偏移原因
当元素在没有任何用户互动的情况下移动时,就会发生布局偏移。调查布局偏移的原因,例如在网页加载时添加、移除元素或元素字体发生了变化。CLS
元素 | 布局偏移分数 |
|---|---|
总计 | 0.046 |
文档系统
基于 Astro 的 HTMl 文档管理
View
凤凰新闻
高仿凤凰新闻 App
Git View
网易云音乐
高仿网易云音乐 App
… <div data-v-f19a829e="" class="projectList"> | 0.024 |
内容管理系统接口
基于 Koa2 的内容管理系统接口
View <div data-v-f19a829e="" class="projectItem"> | 0.023 |
优化 DOM 大小
大型 DOM 可能会增加样式计算和布局自动重排的用时,从而影响网页响应速度。大型 DOM 也会增加内存用量。了解如何避免 DOM 规模过大。
统计信息 | 元素 | 值 |
|---|---|---|
元素总数 | 140 | |
子级数量上限 | 文档系统
基于Astro的HTMl文档管理
View 凤凰新闻
高仿凤凰新闻App
Git View 网易云音乐
高仿网易云音乐App… <div class="projectList" data-v-f19a829e=""> | 13 |
DOM 深度 | 文档系统 <span class="label" data-v-f19a829e=""> | 10 |
LCP breakdown
Each subpart has specific improvement strategies. Ideally, most of the LCP time should be spent on loading the resources, not within delays.LCP
Subpart | 时长 |
|---|---|
Time to first byte | 0毫秒 |
Element render delay | 6,090毫秒 |
Hello I'am Hejian
<div data-v-f19a829e="" class="welcome">
诊断结果
减少未使用的 JavaScript 有望节省 21 KiB
网址 | 传输文件大小 | 可能达到的节省程度 |
|---|---|---|
oolaf.top 第一方 | 46.1 KiB | 20.6 KiB |
…js/app.a241747….js (www.oolaf.top) | 46.1 KiB | 20.6 KiB |
未使用被动式监听器来提高滚动性能
建议您将轻触和滚轮事件监听器标记为
passive,以提高页面的滚动性能。详细了解如何采用被动事件监听器。来源 |
|---|
oolaf.top 第一方 |
…js/2.e905c53….js:1:9988 (www.oolaf.top) |
应避免出现长时间运行的主线程任务 发现了 2 项长时间运行的任务
列出了主线程中运行时间最长的任务,有助于识别出导致输入延迟的最主要原因。了解如何避免出现长时间运行的主线程任务TBT
网址 | 开始时间 | 时长 |
|---|---|---|
oolaf.top 第一方 | 159毫秒 | |
…js/app.a241747….js (www.oolaf.top) | 1,803毫秒 | 98毫秒 |
1,087毫秒 | 61毫秒 |
已通过的审核 (21) 显示 隐藏
已通过的审核 (21)
显示 隐藏
重复的 JavaScript
从软件包中移除重复的大型 JavaScript 模块,即可避免网络活动带来不必要的字节消耗。
字体显示
建议您将 font-display 设为 swap 或 optional,确保文本始终可见。通过替换字体指标可进一步优化 swap,缓解布局偏移。
改进图片传送
缩短图片下载时间可优化网页的感知加载时间和 LCP。详细了解图片大小优化
INP breakdown
Start investigating with the longest subpart. Delays can be minimized. To reduce processing duration, optimize the main-thread costs, often JS.
旧版 JavaScript
polyfill 和 transform 让旧版浏览器能够使用新的 JavaScript 功能。不过,很多功能对现代浏览器而言并不是必需的。请考虑修改 JavaScript 构建流程,以便不转译 Baseline 功能,除非您知道必须支持旧版浏览器。了解为什么大多数网站可以部署 ES6+ 代码而无需转译
网络依赖关系树
避免链接关键请求,方法是缩短链长、缩减资源的下载文件大小,或者推迟下载不必要的资源,从而提高网页加载速度。LCP
关键路径延迟时间上限: 2,875毫秒
初始导航
- 2,875毫秒, 50.79 KiB
Preconnected origins
preconnect hints help the browser establish a connection earlier in the page load, saving time when the first request for that origin is made. The following are the origins that the page preconnected to.
no origins were preconnected
Preconnect candidates
Add preconnect hints to your most important origins, but try to use no more than 4.
No additional origins are good candidates for preconnecting
渲染屏蔽请求
请求正在屏蔽网页的初始渲染,这可能会延迟 LCP。延迟或内嵌可以将这些网络请求移出关键路径。
第三方
第三方代码可能会显著影响加载性能。请减少并推迟加载第三方代码,以优先渲染您的网页内容。
针对移动设备优化视口
如果视口未针对移动设备进行优化,点按互动可能会延迟最多 300 毫秒。
head > meta <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.…"> |
推迟加载屏幕外图片
缩减 CSS
缩减 JavaScript
减少未使用的 CSS
应避免向新型浏览器提供旧版 JavaScript
Polyfill 和 transform 让旧版浏览器能够使用新的 JavaScript 功能。不过,很多功能对现代浏览器而言并不是必需的。请考虑修改 JavaScript 构建流程,以便不转译 Baseline 功能,除非您知道必须支持旧版浏览器。了解为什么大多数网站可以部署 ES6+ 代码而无需转译LCPFCP
避免网络负载过大 总大小为 923 KiB
网络载荷过大不仅会让用户付出真金白银,还极有可能会延长加载用时。了解如何缩减载荷大小。
网址 | 传输文件大小 |
|---|---|
oolaf.top 第一方 | 917.1 KiB |
…fonts/regular.04b7837.otf (www.oolaf.top) | 763.8 KiB |
50.8 KiB | |
…js/app.a241747….js (www.oolaf.top) | 46.8 KiB |
…js/2.e905c53….js (www.oolaf.top) | 14.5 KiB |
…fonts/Pacifico-Regular.cb3943c.ttf (www.oolaf.top) | 13.2 KiB |
…js/5.16e8b37….js (www.oolaf.top) | 11.0 KiB |
…js/4.5bebfb1….js (www.oolaf.top) | 6.2 KiB |
…css/app.a353524….css (www.oolaf.top) | 4.2 KiB |
…js/3.f9e4e5c….js (www.oolaf.top) | 3.8 KiB |
…js/1.68058cb….js (www.oolaf.top) | 2.8 KiB |
User Timing 标记和测量结果
建议使用 User Timing API 对您的应用进行插桩,从而衡量应用在关键用户体验中的实际性能。详细了解 User Timing 标记。
JavaScript 执行用时 0.1 秒
建议您减少为解析、编译和执行 JS 而花费的时间。您可能会发现,提供较小的 JS 载荷有助于实现此目标。了解如何缩短 JavaScript 执行时间。TBT
网址 | 总 CPU 时间 | 脚本评估 | 脚本解析 |
|---|---|---|---|
oolaf.top 第一方 | 388毫秒 | 46毫秒 | 3毫秒 |
337毫秒 | 6毫秒 | 1毫秒 | |
…js/2.e905c53….js (www.oolaf.top) | 51毫秒 | 41毫秒 | 2毫秒 |
无法归因 | 61毫秒 | 3毫秒 | 0毫秒 |
Unattributable | 61毫秒 | 3毫秒 | 0毫秒 |
最大限度地减少主线程工作 0.5 秒
建议您减少为解析、编译和执行 JS 而花费的时间。您可能会发现,提供较小的 JS 载荷有助于实现此目标。了解如何尽可能减少主线程工作TBT
类别 | 花费的时间 |
|---|---|
Style & Layout | 160毫秒 |
Other | 155毫秒 |
Script Evaluation | 87毫秒 |
Rendering | 71毫秒 |
Parse HTML & CSS | 14毫秒 |
Script Parsing & Compilation | 11毫秒 |
使用 Facade 延迟加载第三方资源
您可以延迟加载某些第三方嵌入代码。建议使用 Facade 替换这些代码,直到您需要使用它们为止。了解如何使用 Facade 推迟加载第三方代码。TBT
请勿使用 document.write()
document.write() 对于连接速度较慢的用户,通过
document.write() 动态注入的外部脚本可将网页加载延迟数十秒。了解如何避免使用 document.write()。这些检查会突出显示可改进您 Web 应用的无障碍功能的提示。自动检测功能只能检测到一部分问题,无法保证您 Web 应用的无障碍程度,因此您不妨再手动测试一下。
最佳做法
<meta name="viewport"> 元素中使用了 [user-scalable="no"],或者 [maximum-scale] 属性小于 5。
<meta name="viewport"> 元素中使用了 [user-scalable="no"],或者 [maximum-scale] 属性小于 5。 对于必须依靠放大屏幕才能清晰看到网页内容的低视力用户而言,停用缩放功能会给他们带来问题。详细了解视口元标记。
与建议不符的元素 |
|---|
head > meta <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.…"> |
待手动检查的其他项 (10) 显示 隐藏
待手动检查的其他项 (10)
显示 隐藏
Interactive controls are keyboard focusable
Custom interactive controls are keyboard focusable and display a focus indicator. Learn how to make custom controls focusable.
Interactive elements indicate their purpose and state
Interactive elements, such as links and buttons, should indicate their state and be distinguishable from non-interactive elements. Learn how to decorate interactive elements with affordance hints.
The page has a logical tab order
Tabbing through the page follows the visual layout. Users cannot focus elements that are offscreen. Learn more about logical tab ordering.
Visual order on the page follows DOM order
DOM order matches the visual order, improving navigation for assistive technology. Learn more about DOM and visual ordering.
User focus is not accidentally trapped in a region
A user can tab into and out of any control or region without accidentally trapping their focus. Learn how to avoid focus traps.
The user's focus is directed to new content added to the page
If new content, such as a dialog, is added to the page, the user's focus is directed to it. Learn how to direct focus to new content.
HTML5 landmark elements are used to improve navigation
Landmark elements (
<main>, <nav>, etc.) are used to improve the keyboard navigation of the page for assistive technology. Learn more about landmark elements. Offscreen content is hidden from assistive technology
Offscreen content is hidden with display: none or aria-hidden=true. Learn how to properly hide offscreen content.
Custom controls have associated labels
Custom interactive controls have associated labels, provided by aria-label or aria-labelledby. Learn more about custom controls and labels.
Custom controls have ARIA roles
Custom interactive controls have appropriate ARIA roles. Learn how to add roles to custom controls.
已通过的审核 (12) 显示 隐藏
已通过的审核 (12)
显示 隐藏
文档 <body> 中没有 [aria-hidden="true"]
<body> 中没有 [aria-hidden="true"] 在文档
<body> 上设置 aria-hidden="true" 后,辅助技术(如屏幕阅读器)的工作方式不一致。了解 aria-hidden 对文档正文的影响。 图片元素具备 [alt] 属性
[alt] 属性 说明性元素应力求使用简短的描述性替代文字。未指定 alt 属性的装饰性元素可被忽略。详细了解
alt 属性。 背景色和前景色具有足够高的对比度
对于许多用户而言,对比度低的文字都是难以阅读或无法阅读的。了解如何提供足够高的色彩对比度。
文档包含 <title> 元素
<title> 元素 屏幕阅读器用户可借助标题来大致了解某个页面的内容,搜索引擎用户则非常依赖标题来确定某个页面是否与其搜索相关。详细了解文档标题。
<html> 元素包含 [lang] 属性
<html> 元素包含 [lang] 属性 如果页面未指定
lang 属性,屏幕阅读器便会假定该页面采用的是用户在设置屏幕阅读器时选择的默认语言。如果该页面实际上并未采用默认语言,屏幕阅读器可能无法正确读出该页面中的文字。详细了解 lang 属性。 <html> 元素的 [lang] 属性具备有效值
<html> 元素的 [lang] 属性具备有效值 指定有效的 BCP 47 语言有助于屏幕阅读器正确读出文字。了解如何使用
lang 属性。 链接具备可识别的名称
请确保链接文字(以及用作链接的图片替代文字)可识别、独一无二且可聚焦,这样做会提升屏幕阅读器用户的导航体验。了解如何使链接可供访问。
列表只包含 <li> 元素和脚本支持元素(<script> 和 <template>)。
<li> 元素和脚本支持元素(<script> 和 <template>)。 屏幕阅读器会采用特定的方法来读出列表内容。确保列表结构正确有助于屏幕阅读器顺利读出相应内容。详细了解适当的列表结构。
列表项 (<li>) 包含在 <ul>、<ol> 或 <menu> 父元素中
<li>) 包含在 <ul>、<ol> 或 <menu> 父元素中 屏幕阅读器要求列表项 (
<li>) 必须包含在父 <ul>、<ol> 或 <menu> 中,这样才能正确读出它们。详细了解适当的列表结构。 触摸目标的尺寸和间距足够大。
如果触摸目标的尺寸和间距足够大,就能帮助难以精准触按小控件的用户激活相应目标。详细了解触摸目标。
标题元素按降序显示
未跳过任何等级且排序正确的标题会准确传达页面的语义结构,从而使得相应页面在使用辅助技术时更易于浏览和理解。详细了解标题顺序。
图片元素没有属于多余文本的 [alt] 属性。
[alt] 属性。 说明性元素应力求使用简短的描述性替代文本。如果替代文本与链接或图片旁边的文本完全相同,可能会让屏幕阅读器用户感到困惑,因为他们会听到两次同样的内容。详细了解
alt 属性。 不适用 (44) 显示 隐藏
不适用 (44)
显示 隐藏
“[accesskey]”值是独一无二的
[accesskey]”值是独一无二的 快捷键可让用户快速转到页面的某个部分。为确保正确进行导航,每个快捷键都必须是独一无二的。详细了解快捷键。
[aria-*] 属性与其角色匹配
[aria-*] 属性与其角色匹配 每个 ARIA“
role”都支持一部分特定的“aria-*”属性。如果这些项不匹配,会导致“aria-*”属性无效。了解如何将 ARIA 属性与其角色进行匹配。 使用 ARIA 角色的元素均为兼容元素
许多 HTML 元素只能设置特定的 ARIA 角色。在禁止使用 ARIA 角色的位置使用 ARIA 角色可能会干扰网页的无障碍功能。详细了解 ARIA 角色。
button、link 和 menuitem 元素都有可供访问的名称
button、link 和 menuitem 元素都有可供访问的名称 如果某个元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。了解如何让命令元素更便于使用。
按照指定方式在元素角色中使用了 ARIA 属性
只能在特定条件下使用元素的某些 ARIA 属性。详细了解条件性 ARIA 属性。
未使用已弃用的 ARIA 角色
辅助技术可能无法正确处理已弃用的 ARIA 角色。详细了解已弃用的 ARIA 角色。
具有 role="dialog" 或 role="alertdialog" 的元素均有无障碍名称。
role="dialog" 或 role="alertdialog" 的元素均有无障碍名称。 如果 ARIA 对话框元素缺少无障碍名称,可能会妨碍屏幕阅读器用户理解这些元素的用途。了解如何让 ARIA 对话框元素更符合无障碍需求。
[aria-hidden="true"] 元素都不含可聚焦的下级元素
[aria-hidden="true"] 元素都不含可聚焦的下级元素 有一个
[aria-hidden="true"] 元素包含可聚焦的下级元素,导致这些交互式元素都无法被辅助技术(如屏幕阅读器)用户使用。了解 aria-hidden 如何影响可聚焦的元素。 ARIA 输入字段都有可供访问的名称
如果某个输入字段没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。详细了解输入字段标签。
ARIA meter 元素都有可供访问的名称
meter 元素都有可供访问的名称 如果某个 meter 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。了解如何为
meter 元素命名。 ARIA progressbar 元素都有可供访问的名称
progressbar 元素都有可供访问的名称 如果某个
progressbar 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。了解如何为 progressbar 元素添加标签。 元素仅使用允许的 ARIA 属性
在禁止使用 ARIA 属性的角色中使用 ARIA 属性可能会导致重要信息无法传达给使用辅助技术的用户。详细了解被禁止的 ARIA 角色。
[role] 具备所有必需的 [aria-*] 属性
[role] 具备所有必需的 [aria-*] 属性 一些 ARIA 角色有必需属性,这些属性向屏幕阅读器描述了相应元素的状态。详细了解角色和必需属性。
具有 ARIA [role]且要求子元素必须包含特定[role]的元素包含全部必需子元素。
[role]且要求子元素必须包含特定[role]的元素包含全部必需子元素。 一些 ARIA 父角色必须包含特定子角色,才能执行它们的预期无障碍功能。详细了解角色和必需的子元素。
[role] 包含在其必需的父元素中
[role] 包含在其必需的父元素中 一些 ARIA 子角色必须包含在特定的父角色中,才能正确执行它们的预期无障碍功能。详细了解 ARIA 角色和必需的父元素。
[role] 值有效
[role] 值有效 ARIA 角色必须具备有效值,才能执行它们的预期无障碍功能。详细了解有效的 ARIA 角色。
具有 role=text 属性的元素缺少可聚焦后代元素。
role=text 属性的元素缺少可聚焦后代元素。 在一个被标记分隔的文本节点周围添加
role=text 后,VoiceOver 会将该文本元素视为一个短语,但不会读出它的可聚焦后代元素。详细了解 role=text 属性。 ARIA 切换字段都有可供访问的名称
如果某个切换字段没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。详细了解切换字段。
ARIA tooltip 元素都有可供访问的名称
tooltip 元素都有可供访问的名称 如果某个 tooltip 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。了解如何为
tooltip 元素命名。 ARIA treeitem 元素都有可供访问的名称
treeitem 元素都有可供访问的名称 如果某个
treeitem 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。详细了解如何为 treeitem 元素添加标签。 [aria-*] 属性具备有效值
[aria-*] 属性具备有效值 辅助技术(如屏幕阅读器)无法解读值无效的 ARIA 属性。详细了解 ARIA 属性的有效值。
[aria-*] 属性有效且拼写正确
[aria-*] 属性有效且拼写正确 辅助技术(如屏幕阅读器)无法解读名称无效的 ARIA 属性。详细了解有效的 ARIA 属性。
按钮有可供访问的名称
当某个按钮没有无障碍名称时,屏幕阅读器会将它读为“按钮”,这会导致依赖屏幕阅读器的用户无法使用它。了解如何让按钮更便于使用。
该页面包含一个标题、跳过链接或地标区域
添加用于绕过重复内容的方式有助于键盘用户更高效地浏览页面。详细了解如何绕过内容块。
<dl> 只包含经过适当排序的 <dt> 和 <dd> 组及 <script>、<template> 或 <div> 元素。
<dl> 只包含经过适当排序的 <dt> 和 <dd> 组及 <script>、<template> 或 <div> 元素。 如果未正确标记定义列表,屏幕阅读器读出的内容可能会令人困惑或不准确。了解如何正确构建定义列表。
定义列表项已封装在 <dl> 元素中
<dl> 元素中 定义列表项(
<dt> 和 <dd>)必须封装在父 <dl> 元素中,以确保屏幕阅读器可以正确地读出它们。了解如何正确构建定义列表。 ARIA ID 都是独一无二的
ARIA ID 的值必须独一无二,才能防止其他实例被辅助技术忽略。了解如何修正重复的 ARIA ID。
表单字段都没有多个标签
有多个标签的表单字段可能会被辅助技术(如屏幕阅读器)以令人困惑的方式播报出来,因为这些辅助技术可能会使用第一个标签或最后一个标签,也可能会使用所有标签。了解如何使用表单标签。
<frame> 或 <iframe> 元素有标题
<frame> 或 <iframe> 元素有标题 屏幕阅读器用户依靠框架标题来描述框架的内容。详细了解框架标题。
<html> 元素的 [xml:lang] 属性与 [lang] 属性使用了相同的基本语言。
<html> 元素的 [xml:lang] 属性与 [lang] 属性使用了相同的基本语言。 如果网页未指定一致的语言,屏幕阅读器可能无法正确读出相应网页上的文本。详细了解
lang 属性。 输入按钮具有可识别的文本。
向输入按钮添加可识别的无障碍文本可帮助屏幕阅读器用户了解输入按钮的用途。详细了解输入按钮。
<input type="image"> 元素有对应的 [alt] 文字
<input type="image"> 元素有对应的 [alt] 文字 将图片用作
<input> 按钮时,提供替代文字有助于屏幕阅读器用户了解该按钮的用途。了解输入图片替代文字。 表单元素具有关联的标签
标签可确保辅助技术(如屏幕阅读器)正确读出表单控件。详细了解表单元素标签。
无需依赖颜色即可辨识链接。
对许多用户而言,对比度低的文本都是难以阅读或无法阅读的。清晰可辨的链接文本可改善低视力用户的体验。了解如何让链接容易辨识。
文档未使用 <meta http-equiv="refresh">
<meta http-equiv="refresh"> 用户并不希望网页自动刷新,因为自动刷新会不断地将焦点移回到页面顶部。这可能会让用户感到沮丧或困惑。详细了解刷新元标记。
<object> 元素有对应的替代文字
<object> 元素有对应的替代文字 屏幕阅读器无法转换非文字内容。通过向
<object> 元素添加替代文字,可帮助屏幕阅读器将含义传达给用户。详细了解 object 元素的替代文字。 select 元素具有关联的标签元素。
如果表单元素缺少有效标签,可能会给屏幕阅读器用户带来糟糕的体验。详细了解
select 元素。 跳转链接可聚焦。
添加跳转链接可帮助用户跳至主要内容以节省时间。详细了解跳转链接。
所有元素的 [tabindex] 值都不大于 0
[tabindex] 值都不大于 0 值大于 0 意味着明确的导航顺序。尽管这在技术上可行,但往往会让依赖辅助技术的用户感到沮丧。详细了解
tabindex 属性。 相关表格的 summary 属性和 <caption> 具有不同的内容。
<caption> 具有不同的内容。 summary 属性应描述表格结构,而
<caption> 应含有屏幕上显示的标题。准确的表格标记对屏幕阅读器用户有帮助。详细了解 summary 和 caption。 <table> 元素中使用 [headers] 属性的单元格引用的是同一表格中的单元格。
<table> 元素中使用 [headers] 属性的单元格引用的是同一表格中的单元格。 屏幕阅读器提供了更便于用户浏览表格内容的功能。请确保那些使用
[headers] 属性的 <td> 单元格仅引用同一个表格中的其他单元格,这样做可提升屏幕阅读器用户的体验。详细了解 headers 属性。 <th> 元素和 [role="columnheader"/"rowheader"] 的元素具备它们所描述的数据单元格。
<th> 元素和 [role="columnheader"/"rowheader"] 的元素具备它们所描述的数据单元格。 屏幕阅读器提供了更便于用户浏览表格内容的功能。确保表格标头始终引用特定一组单元格可以提升屏幕阅读器用户的体验。详细了解表格标头。
[lang] 属性的值有效
[lang] 属性的值有效 为元素指定有效的 BCP 47 语言有助于确保屏幕阅读器正确读出文字。了解如何使用
lang 属性。 <video> 元素包含带 [kind="captions"] 的 <track> 元素
<video> 元素包含带 [kind="captions"] 的 <track> 元素 如果视频提供了字幕,失聪用户和听障用户便能更轻松地获取此视频中的信息。详细了解视频字幕。
信任与安全
请确保 CSP 能够有效地抵御 XSS 攻击
强有力的内容安全政策 (CSP) 可显著降低遭遇跨站脚本攻击 (XSS) 的风险。了解如何使用 CSP 来防止 XSS
说明 | 指令 | 严重程度 |
|---|---|---|
找不到任何处于强制模式的 CSP | 高 |
使用严格 HSTS 政策
部署 HSTS 标头可显著降低 HTTP 连接降级和窃听攻击的风险。建议分阶段部署,从较低的 max-age 开始。详细了解如何使用严格 HSTS 政策。
说明 | 指令 | 严重程度 |
|---|---|---|
未找到 HSTS 标题 | 高 |
确保通过 COOP 实现适当的源隔离
Cross-Origin-Opener-Policy (COOP) 可用于将顶级窗口与其他文档(例如弹出式窗口)隔离。详细了解如何部署 COOP 标头。
说明 | 指令 | 严重程度 |
|---|---|---|
未找到 COOP 标头 | 高 |
使用 XFO 或 CSP 缓解点击劫持问题
X-Frame-Options (XFO) 标头或 Content-Security-Policy (CSP) 标头中的 frame-ancestors 指令控制网页可嵌入的位置。这些设置可以阻止部分或全部网站嵌入网页,从而缓解点击劫持攻击。详细了解如何缓解点击劫持。说明 | 严重程度 |
|---|---|
未找到任何框架控制政策 | 高 |
常规
已通过的审核 (15) 显示 隐藏
已通过的审核 (15)
显示 隐藏
使用 HTTPS
所有网站都应该通过 HTTPS 来保护,即使网站不处理敏感数据,也应如此。这包括要避免使用混合内容(即:通过 HTTPS 实现初始请求,但却通过 HTTP 加载某些资源)。HTTPS 可防止入侵程序篡改或被动地监听您的应用与用户之间的通信,它是 HTTP/2 和许多新的网络平台 API 的先决条件。详细了解 HTTPS。
请勿使用已弃用的 API
已弃用的 API 最终将从浏览器中移除。详细了解已弃用的 API。
避免使用第三方 Cookie
Chrome 将推出新的用户体验,使用户可以选择不使用第三方 Cookie 来浏览网页。详细了解第三方 Cookie。
允许用户将内容粘贴到输入字段中
禁用粘贴式输入功能会对用户体验产生不良影响,停用密码管理工具则会降低安全性。详细了解方便用户使用的输入字段。
避免在网页加载时请求地理定位权限
如果网站在缺少上下文的情况下请求位置信息,会导致用户不信任网站或感到困惑。建议将请求与用户操作进行绑定。详细了解地理定位权限。
避免在网页加载时请求通知权限
如果网站在缺少上下文的情况下请求发送通知,会导致用户不信任网站或感到困惑。建议将请求与用户手势进行绑定。详细了解如何以负责任的方式获取通知权限。
显示的图像宽高比正确
图像显示尺寸应与自然宽高比相匹配。详细了解图片宽高比。
所提供的图片都采用了合适的分辨率
图片的自然尺寸应与显示屏大小及像素比成正比,这样才能令图片达到最清晰的显示效果。了解如何提供自适应图片。
具有包含 width 或 initial-scale 的 <meta name="viewport"> 标记
width 或 initial-scale 的 <meta name="viewport"> 标记 <meta name="viewport"> 不仅会针对移动设备屏幕尺寸优化您的应用,还会阻止系统在响应用户输入前出现 300 毫秒的延迟。详细了解如何使用视口元标记。 文档所用的字体大小清晰可辨 100% 清晰可辨的文字
12px 以下的字体过小,会导致用户无法辨认;此外,这样的字体需要移动设备访问者“张合双指进行缩放”才能阅读。请尽量让 60% 以上的页面文字不小于 12px。详细了解清晰可辨的字体大小。
来源 | 选择器 | 网页文本百分比 | 字号 |
|---|---|---|---|
清晰可辨的文字 | 100.00% | ≥ 12px |
页面包含 HTML DOCTYPE
指定 DOCTYPE 可阻止浏览器切换到 Quirks 模式。详细了解 DOCTYPE 声明。
正确地设定了字符集
必须声明字符编码。您可以在 HTML 的前 1024 个字节中使用
<meta> 标记来声明,也可以在 HTTP 响应标头 Content-Type 中进行声明。详细了解如何声明字符编码。 控制台日志中未记录浏览器错误
控制台中记录的错误表明有未解决的问题。这些问题的起因可能是网络请求失败和其他浏览器问题。在控制台诊断审核中详细了解此错误
Chrome Devtools 的“Issues”面板中无任何问题
Issues”面板中无任何问题 Chrome Devtools 的“
Issues”面板中记录的问题表明有未解决的问题。这些问题的起因可能是网络请求失败、安全控件不足和其他浏览器问题。如需详细了解每个问题,请打开 Chrome Devtools 的“Issues”面板。 页面包含有效的源代码映射
源代码映射会将缩减了大小的代码转换成原始源代码。这有助于开发者在正式版中调试。此外,Lighthouse 还能提供进一步的数据分析。建议部署源代码映射以充分利用这些好处。详细了解源代码映射。
不适用 (1) 显示 隐藏
不适用 (1)
显示 隐藏
将 HTTP 流量重定向到 HTTPS
请务必将所有 HTTP 流量都重定向到 HTTPS,以便为所有用户启用安全的网络功能。了解详情。
此类检查可确保您的网页遵循了基本的搜索引擎优化建议。还有很多其他因素可能会影响您的网页在搜索引擎结果中的排名,但未被 Lighthouse 纳入此处的评估范围,其中包括核心网页指标衡量结果。详细了解 Google Search Essentials。
抓取和编入索引
robots.txt 无效 发现了 44 处错误
如果 robots.txt 文件的格式不正确,抓取工具可能无法理解您希望以何种方式抓取网站内容或将其编入索引。详细了解 robots.txt。
Line # | Content | Error |
|---|---|---|
1 | <!DOCTYPE html> | Syntax not understood |
2 | <html lang="en"> | Syntax not understood |
3 | <head> | Syntax not understood |
4 | <meta charset="UTF-8"/> | Syntax not understood |
5 | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"/> | Syntax not understood |
6 | <meta http-equiv="X-UA-Compatible" content="ie=edge"/> | Syntax not understood |
7 | <meta name="description" content="dirkhe1051931999 blogs,projects and about me"> | Syntax not understood |
8 | <meta name="keywords" content="HTML, CSS, JavaScript, Vue.js, Node.js, SSR , dirkhe1051931999, blogs, projects, about me"> | Syntax not understood |
9 | <meta name="author" content="https://github.com/dirkhe1051931999"> | Unknown directive |
10 | <link href="data:image/x-icon;base64,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" rel="icon" type="image/ico"/> | Unknown directive |
11 | <title>dirkhe1051931999</title> | Syntax not understood |
12 | <link rel="preload" href="/aboutme-static/css/app.a35352466c422910c75c.css" as="style"><link rel="preload" href="/aboutme-static/js/app.a24174709393bcdf6dcd.js" as="script"><link rel="preload" href="/aboutme-static/css/2.b5993b627dd6e10f183b.css" as="style"><link rel="preload" href="/aboutme-static/js/2.e905c53ad4ff1640cef6.js" as="script"><link rel="prefetch" href="/aboutme-static/css/1.f80a9b66c22529e1eb26.css"><link rel="prefetch" href="/aboutme-static/css/3.52ea4646192052d09b0d.css"><link rel="prefetch" href="/aboutme-static/css/4.65dc569d7e6a8331369a.css"><link rel="prefetch" href="/aboutme-static/js/1.68058cbfed4b58346ed5.js"><link rel="prefetch" href="/aboutme-static/js/3.f9e4e5cab8ace1e3fd30.js"><link rel="prefetch" href="/aboutme-static/js/4.5bebfb11ba5c47b800b1.js"><link rel="prefetch" href="/aboutme-static/js/5.16e8b3748908df9ec699.js"><link rel="stylesheet" href="/aboutme-static/css/app.a35352466c422910c75c.css"><link rel="stylesheet" href="/aboutme-static/css/2.b5993b627dd6e10f183b.css"></head> | Syntax not understood |
13 | <body style="display: none;"> | Unknown directive |
14 | <div id="app"> | Syntax not understood |
15 | <div id="app" data-server-rendered="true"><div class="top-nav-wrap" data-v-0c4250b8><div class="logo" data-v-0c4250b8>Dirkhe1051931999</div> <ul data-v-0c4250b8><li class="active" data-v-0c4250b8><span data-v-0c4250b8> 我的项目 </span></li><li data-v-0c4250b8><span data-v-0c4250b8> 博客 </span></li><li data-v-0c4250b8><span data-v-0c4250b8> 关于我 </span></li></ul></div> <div class="olaf-main" data-v-f19a829e><div class="olaf-container" data-v-f19a829e><header data-v-f19a829e><div class="welcome" data-v-f19a829e>Hello I'am <span class="gradientText" data-v-f19a829e>Hejian </span></div></header> <div class="projectList" data-v-f19a829e><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="文档系统" data-v-f19a829e><span class="label" data-v-f19a829e>文档系统</span></h1> <p title="基于Astro的HTMl文档管理" data-v-f19a829e> | Syntax not understood |
16 | 基于Astro的HTMl文档管理 | Syntax not understood |
17 | </p> <div class="action" data-v-f19a829e> <a href="https://www.oolaf.top/docs/zh-cn/home/" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="凤凰新闻" data-v-f19a829e><span class="label" data-v-f19a829e>凤凰新闻</span></h1> <p title="高仿凤凰新闻App" data-v-f19a829e> | Unknown directive |
18 | 高仿凤凰新闻App | Syntax not understood |
19 | </p> <div class="action" data-v-f19a829e><a href="https://github.com/dirkhe1051931999/ifeng" target="_blank" data-v-f19a829e> Git </a> <a href="https://www.oolaf.top/ifeng-app/" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="网易云音乐" data-v-f19a829e><span class="label" data-v-f19a829e>网易云音乐</span></h1> <p title="高仿网易云音乐App" data-v-f19a829e> | Unknown directive |
20 | 高仿网易云音乐App | Syntax not understood |
21 | </p> <div class="action" data-v-f19a829e><a href="https://github.com/dirkhe1051931999/vue-music-v2" target="_blank" data-v-f19a829e> Git </a> <a href="https://www.oolaf.top/163-music/" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="私有化音乐平台" data-v-f19a829e><span class="label" data-v-f19a829e>私有化音乐平台</span></h1> <p title="基于S3存储的私有化Web音乐平台" data-v-f19a829e> | Unknown directive |
22 | 基于S3存储的私有化Web音乐平台 | Syntax not understood |
23 | </p> <div class="action" data-v-f19a829e> <a href="https://hub.oolaf.top" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="内容管理系统接口" data-v-f19a829e><span class="label" data-v-f19a829e>内容管理系统接口</span></h1> <p title="基于Koa2的内容管理系统接口" data-v-f19a829e> | Unknown directive |
24 | 基于Koa2的内容管理系统接口 | Syntax not understood |
25 | </p> <div class="action" data-v-f19a829e> <a href="https://aphelios-api.oolaf.top" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="内容管理系统管理后台" data-v-f19a829e><span class="label" data-v-f19a829e>内容管理系统管理后台</span></h1> <p title="前后端分离的内容管理的后台" data-v-f19a829e> | Unknown directive |
26 | 前后端分离的内容管理的后台 | Syntax not understood |
27 | </p> <div class="action" data-v-f19a829e> <a href="https://www.oolaf.top/aphelios-management/" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="内容客户端-Web端" data-v-f19a829e><span class="label" data-v-f19a829e>内容客户端-Web端</span></h1> <p title="可复用的,自己写的,基于koa2的服务端渲染(SSR)的内容客户端(web端),支持热刷新和热替换,开发起来十分舒服" data-v-f19a829e> | Unknown directive |
28 | 可复用的,自己写的,基于koa2的服务端渲染(SSR)的内容客户端(web端),支持热刷新和热替换,开发起来十分舒服 | Syntax not understood |
29 | </p> <div class="action" data-v-f19a829e> <a href="https://www.oolaf.top/aphelios-desktop/" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="新闻联播AI解读" data-v-f19a829e><span class="label" data-v-f19a829e>新闻联播AI解读</span></h1> <p title="每日定时使用DeepSeek OPEN API 解读新闻联播" data-v-f19a829e> | Unknown directive |
30 | 每日定时使用DeepSeek OPEN API 解读新闻联播 | Syntax not understood |
31 | </p> <div class="action" data-v-f19a829e> <a href="https://www.oolaf.top/news30/" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="基于Quasar的后台管理模板" data-v-f19a829e><span class="label" data-v-f19a829e>基于Quasar的后台管理模板</span></h1> <p title="兼容Vue3,使用 Quasar 框架的类 API 编写的管理系统" data-v-f19a829e> | Unknown directive |
32 | 兼容Vue3,使用 Quasar 框架的类 API 编写的管理系统 | Syntax not understood |
33 | </p> <div class="action" data-v-f19a829e><a href="https://github.com/dirkhe1051931999/quasar-typescript-admin-template" target="_blank" data-v-f19a829e> Git </a> <a href="https://dirkhe1051931999.github.io/v3-admin" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="个人博客" data-v-f19a829e><span class="label" data-v-f19a829e>个人博客</span></h1> <p title="用 MD 文件写的博客,记录学习过程" data-v-f19a829e> | Unknown directive |
34 | 用 MD 文件写的博客,记录学习过程 | Syntax not understood |
35 | </p> <div class="action" data-v-f19a829e> <a href="https://github.com/dirkhe1051931999/hjBlog" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="Flutter Quick Start" data-v-f19a829e><span class="label" data-v-f19a829e>Flutter Quick Start</span></h1> <p title="有Redux状态管理的Flutter项目启动模板" data-v-f19a829e> | Unknown directive |
36 | 有Redux状态管理的Flutter项目启动模板 | Syntax not understood |
37 | </p> <div class="action" data-v-f19a829e><a href="https://github.com/dirkhe1051931999/flutter-template" target="_blank" data-v-f19a829e> Git </a> </div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="AI Chat" data-v-f19a829e><span class="label" data-v-f19a829e>AI Chat</span></h1> <p title="基于 Pollinations.AI 的,支持openai,gemini,deepseek等模型" data-v-f19a829e> | Unknown directive |
38 | 基于 Pollinations.AI 的,支持openai,gemini,deepseek等模型 | Syntax not understood |
39 | </p> <div class="action" data-v-f19a829e> <a href="https://www.oolaf.top/aichat/" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div><div class="projectItem" data-v-f19a829e><div class="projectItemLeft" data-v-f19a829e><h1 title="AI 文本转音频" data-v-f19a829e><span class="label" data-v-f19a829e>AI 文本转音频</span></h1> <p title="基于 Pollinations.AI,输入文本,选择语音风格,一键将文字转换为自然流畅的语音。支持多种声音特征,帮您创建专业水准的音频内容。" data-v-f19a829e> | Unknown directive |
40 | 基于 Pollinations.AI,输入文本,选择语音风格,一键将文字转换为自然流畅的语音。支持多种声音特征,帮您创建专业水准的音频内容。 | Syntax not understood |
41 | </p> <div class="action" data-v-f19a829e> <a href="https://www.oolaf.top/tts/" target="_blank" data-v-f19a829e> View </a></div></div> <div class="projectItemRight" data-v-f19a829e><img src="data:image/png;base64,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" alt srcset data-v-f19a829e></div></div></div></div></div></div><script>window.__INITIAL_STATE__={"aboutMe":{"projects":[{"label":"文档系统","description":"基于Astro的HTMl文档管理","view":"https:\u002F\u002Fwww.oolaf.top\u002Fdocs\u002Fzh-cn\u002Fhome\u002F","img":"i1"},{"label":"凤凰新闻","description":"高仿凤凰新闻App","git":"https:\u002F\u002Fgithub.com\u002Fdirkhe1051931999\u002Fifeng","view":"https:\u002F\u002Fwww.oolaf.top\u002Fifeng-app\u002F","img":"i2"},{"label":"网易云音乐","description":"高仿网易云音乐App","git":"https:\u002F\u002Fgithub.com\u002Fdirkhe1051931999\u002Fvue-music-v2","view":"https:\u002F\u002Fwww.oolaf.top\u002F163-music\u002F","img":"i3"},{"label":"私有化音乐平台","description":"基于S3存储的私有化Web音乐平台","view":"https:\u002F\u002Fhub.oolaf.top","img":"i4"},{"label":"内容管理系统接口","description":"基于Koa2的内容管理系统接口","view":"https:\u002F\u002Faphelios-api.oolaf.top","img":"i5"},{"label":"内容管理系统管理后台","description":"前后端分离的内容管理的后台","view":"https:\u002F\u002Fwww.oolaf.top\u002Faphelios-management\u002F","img":"i6"},{"label":"内容客户端-Web端","description":"可复用的,自己写的,基于koa2的服务端渲染(SSR)的内容客户端(web端),支持热刷新和热替换,开发起来十分舒服","view":"https:\u002F\u002Fwww.oolaf.top\u002Faphelios-desktop\u002F","img":"i1"},{"label":"新闻联播AI解读","description":"每日定时使用DeepSeek OPEN API 解读新闻联播","view":"https:\u002F\u002Fwww.oolaf.top\u002Fnews30\u002F","img":"i2"},{"label":"基于Quasar的后台管理模板","description":"兼容Vue3,使用 Quasar 框架的类 API 编写的管理系统","git":"https:\u002F\u002Fgithub.com\u002Fdirkhe1051931999\u002Fquasar-typescript-admin-template","view":"https:\u002F\u002Fdirkhe1051931999.github.io\u002Fv3-admin","img":"i3"},{"label":"个人博客","description":"用 MD 文件写的博客,记录学习过程","view":"https:\u002F\u002Fgithub.com\u002Fdirkhe1051931999\u002FhjBlog","img":"i4"},{"label":"Flutter Quick Start","description":"有Redux状态管理的Flutter项目启动模板","git":"https:\u002F\u002Fgithub.com\u002Fdirkhe1051931999\u002Fflutter-template","img":"i5"},{"label":"AI Chat","description":"基于 Pollinations.AI 的,支持openai,gemini,deepseek等模型","view":"https:\u002F\u002Fwww.oolaf.top\u002Faichat\u002F","img":"i6"},{"label":"AI 文本转音频","description":"基于 Pollinations.AI,输入文本,选择语音风格,一键将文字转换为自然流畅的语音。支持多种声音特征,帮您创建专业水准的音频内容。","view":"https:\u002F\u002Fwww.oolaf.top\u002Ftts\u002F","img":"i1"}],"skills":["JavaScript","TypeScript","Dart","Node.js","Linux","Vue","Angular","Flutter","Mysql","Python","Redis","Docker"],"mottoes":["人一辈子花的最多时间就是工作,工作是场马拉松,如何起跑,如何加减速,这是一个值得思考的问题。","水满则溢,月盈则亏;命中有时终须有,命中无时莫强求。","走窄路,耕瘦田。"],"overview":{"location":"陕西西安","profession":"前端开发","github":{"name":"dirkhe1051931999","url":"https:\u002F\u002Fgithub.com\u002Fdirkhe1051931999"},"redbook":{"name":"小红书","url":"https:\u002F\u002Fwww.xiaohongshu.com\u002Fuser\u002Fprofile\u002F5c3eaecf0000000007024ce7"},"sponsors":{"name":"赞助","url":"https:\u002F\u002Fi0.hdslb.com\u002Fbfs\u002Farticle\u002Fac1bdc4d1dc889b8b278d9cc945d102f431575773.jpg"}},"blogChannel":[{"label":"编程技术","value":"293c84e4a7e44c1f8040c722c2285359"},{"label":"生活随笔","value":"244459e18f43444ab8eb8c9ccf4056c0"}]},"blogs":[],"blogDetail":{},"route":{"path":"\u002F","hash":"","query":{},"params":{},"fullPath":"\u002F","meta":{},"from":{"name":null,"path":"\u002F","hash":"","query":{},"params":{},"fullPath":"\u002F","meta":{}}}};(function(){var s;(s=document.currentScript||document.scripts[document.scripts.length-1]).parentNode.removeChild(s);}());</script><script src="/aboutme-static/js/app.a24174709393bcdf6dcd.js" defer></script><script src="/aboutme-static/js/2.e905c53ad4ff1640cef6.js" defer></script> | Unknown directive |
42 | </div> | Syntax not understood |
43 | </body> | Syntax not understood |
44 | </html> | Syntax not understood |
待手动检查的其他项 (1) 显示 隐藏
待手动检查的其他项 (1)
显示 隐藏
结构化数据有效
运行结构化数据测试工具和 Structured Data Linter 可验证结构化数据。详细了解结构化数据。
已通过的审核 (8) 显示 隐藏
已通过的审核 (8)
显示 隐藏
页面未被屏蔽,可编入索引
如果搜索引擎无权抓取您的网页,则无法将它们添加到搜索结果中。详细了解抓取工具指令。
文档包含 <title> 元素
<title> 元素 屏幕阅读器用户可借助标题来大致了解某个页面的内容,搜索引擎用户则非常依赖标题来确定某个页面是否与其搜索相关。详细了解文档标题。
文档有 meta 描述
元描述可能会被包含在搜索结果中,以简要概括网页内容。详细了解元描述。
页面返回了有效的 HTTP 状态代码
返回无效 HTTP 状态代码的页面可能无法被正确编入索引。详细了解 HTTP 状态代码。
链接有描述性文字
描述性链接文字有助于搜索引擎理解您的内容。了解如何让链接更便于使用。
链接都是可抓取的
搜索引擎可能会使用链接中的
href 属性来抓取网站。请确保锚元素的 href 属性链接到合适的目标网站,以便搜索引擎发现该网站上的更多网页。了解如何使链接可供抓取 图片元素具备 [alt] 属性
[alt] 属性 说明性元素应力求使用简短的描述性替代文字。未指定 alt 属性的装饰性元素可被忽略。详细了解
alt 属性。 文档的 hreflang 有效
hreflang 有效 hreflang 链接用于告知搜索引擎应在特定语言或地区的搜索结果中显示哪种版本的网页。详细了解
hreflang。 不适用 (1) 显示 隐藏
不适用 (1)
显示 隐藏
文档的 rel=canonical 有效
rel=canonical 有效 规范链接用于建议应在搜索结果中显示哪个网址。详细了解规范链接。