推送的资源被下载两次,并且有关于跨域的警告

问题描述 投票:0回答:1

我尝试使用http / 2服务器推送在Laravel网站中预加载一些资产。

<!-- Preload -->
<link href="/fonts/Logo.woff" as="font" type="font/woff" rel="preload" crossorigin>
<link href="/css/app.css" rel="preload" as="style" type="text/css" crossorigin>
<link href="/js/app.js" rel="preload" type="application/javascript" as="script" crossorigin>
<!-- Use -->
<link href="/css/app.css" rel="stylesheet">
<script type="module" src="/js/app.js"></script>

我正在使用Middleware设置链接标题。

但是,脚本和字体被下载了两次(推送和正常请求)

他们俩也都会发出警告

“已找到'https://localhost/fonts/Logo.woff'的预载,但未使用,因为请求凭证模式不匹配。请考虑看看crossorigin属性。”

“已找到'https://localhost/js/app.js'的预载,但未使用,因为请求凭证模式不匹配。请考虑看看crossorigin属性。”

我试图从所有三个标签中删除crossorigin,但这并不能解决问题。还尝试了crossorigin="use-credentials"crossorigin="anonymous"之类的不同组合。

cross-domain http2 preload server-push
1个回答
0
投票

以防万一有人遇到相同的问题。链接HTTP标头必须包含字体/脚本的跨域,但不包含CSS /图像的跨域

© www.soinside.com 2019 - 2024. All rights reserved.