javascript 如何修复控制台警告“资源...已使用链接预加载进行预加载,但在窗口加载事件发生后的几秒钟内未使用”?

mwg9r5ms  于 2023-02-28  发布在  Java
关注(0)|答案(2)|浏览(470)

我正在为PWA开发一个盖茨比主题/启动器,但我似乎无法摆脱以下控制台警告:

The resource https://davidde.github.io/gatsby-starter-simpwa/page-data/offline-plugin-app-shell-fallback/page-data.json
was preloaded using link preload but not used within a few seconds from the window's load event.
Please make sure it has an appropriate `as` value and it is preloaded intentionally.

第一次加载时一切正常;服务工作者像它应该的那样注册,并且没有警告。但是,在重新加载之后,这个警告出现了。这没有意义,因为as的值被设置为“fetch”。我假设它与gatsby-plugin-offlinegatsby-plugin-manifest的配置有关。
源代码位于https://github.com/davidde/gatsby-starter-simpwa
并部署到https://davidde.github.io/gatsby-starter-simpwa/
有人知道是什么导致的吗?

qnakjoqk

qnakjoqk1#

警告只是表示资源正在以更高的优先级被下载,但它没有以与下载时相同的紧急程度被使用。
当浏览器看到rel=preload链接时,它的期望是该资源对页面的正确呈现至关重要。但如果不是这样,它会警告您可能会推迟下载,以便它可以做其他事情(如下载CSS或呈现布局),这比下载这个不那么重要的资源更重要。
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/preload

可能的解决方案

您可以检查离线插件是否采取defer资源下载选项和/或将其移动到<body>而不是添加到<head>时绑定和注入链接到HTML脚本。

ifsvaxew

ifsvaxew2#

在react应用程序的公共文件夹中,这里有一个index.html,请将此行粘贴到index.html中,然后重试运行react应用程序

<link rel="preload" href="fonts/cicle_fina-webfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">

相关问题