gpt4 book ai didi

javascript - PDF 预加载的 CORB 问题

转载 作者:行者123 更新时间:2023-12-05 03:52:16 24 4
gpt4 key购买 nike

我正在优化我的 PDF 查看器应用程序,我想为 PDF 使用链接预加载。 PDF 下载是通过 XHR 请求触发的(它只是后台的 PDF.js 库)。

我的想法是预加载 PDF,然后当加载处理 PDF 下载的 JS 包时,PDF 已经在内存中或至少部分内存中,以便用户更快地查看它。

问题是 Chrome 阻止了我的请求说:

Cross-Origin Read Blocking (CORB) blocked cross-origin response https://core.ac.uk/download/pdf/159107963.pdf with MIME type application/pdf. See https://www.chromestatus.com/feature/5629709824032768 for more details.

我不知道为什么会这样。 CORS 是允许的,也没有 X-Content-Type-Options: np-sniff 存在。有什么想法吗?

这是 MWE。只需打开控制台,您就会看到错误。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test preload</title>
<link rel="preload" href="https://core.ac.uk/download/pdf/159107963.pdf" as="fetch" type="application/pdf"/>
</head>
<body>
</body>
</html>

最佳答案

您需要添加 crossorigin 属性来预加载跨域获取请求。阅读更多 herehere .

链接应该配置如下:

<!-- use anonymous (default if blank) for credentials: 'same origin' -->
<link rel="preload" href="https://core.ac.uk/download/pdf/159107963.pdf" as="fetch" type="application/pdf" crossorigin />

<!-- set it to use-credentials for credentials: 'include' -->
<link rel="preload" href="https://core.ac.uk/download/pdf/159107963.pdf" as="fetch" type="application/pdf" crossorigin="use-credentials" />

关于javascript - PDF 预加载的 CORB 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62319786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com