Javascript 为什么我可以获取这个跨源文件,但我可以';你不能从中创建一个工人吗?

Javascript 为什么我可以获取这个跨源文件,但我可以';你不能从中创建一个工人吗?,javascript,amazon-s3,cors,worker-loader,Javascript,Amazon S3,Cors,Worker Loader,有问题的文件是这样的:http://web-reports-static.s3.us-east-2.amazonaws.com/_next/e02d25753c0f34f5e22c.worker.js 该文件由s3存储桶托管,该存储桶允许任何域获取该文件。我还设置了以下CORS策略: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-

有问题的文件是这样的:
http://web-reports-static.s3.us-east-2.amazonaws.com/_next/e02d25753c0f34f5e22c.worker.js

该文件由s3存储桶托管,该存储桶允许任何域获取该文件。我还设置了以下CORS策略:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
但是,直接使用它构造辅助对象会导致错误:

> new Worker("http://web-reports-static.s3.us-east-2.amazonaws.com/_next/e02d25753c0f34f5e22c.worker.js")

VM1925:1 Uncaught DOMException: Failed to construct 'Worker': Script at 'http://web-reports-static.s3.us-east-2.amazonaws.com/_next/e02d25753c0f34f5e22c.worker.js' cannot be accessed from origin 'https://stackoverflow.com'.
    at <anonymous>:1:1
(anonymous) @ VM1925:1
>新工人(“http://web-reports-static.s3.us-east-2.amazonaws.com/_next/e02d25753c0f34f5e22c.worker.js")
VM1925:1未捕获的DomeException:无法构造“Worker”:脚本位于http://web-reports-static.s3.us-east-2.amazonaws.com/_next/e02d25753c0f34f5e22c.worker.js“无法从源站访问”https://stackoverflow.com'.
时间:1:1
(匿名)@VM1925:1

记住,
内容安全策略
控制可以通过各种浏览器机制加载哪些源。特别是,我需要通配符
worker src
指令:

HTML规范要求获取
新的worker(url)
url,如果url与调用它的文档的来源不同,则获取失败。所需的规范文本位于,其中表示请求模式为
同一来源
。对于在
同源
模式下向非同源URL发出的请求,浏览器需要抛出。但是,如果您首先使用
importScripts(…)
和同一个URL创建一个Blob URL,然后使用该Blob URL调用
new Worker(…)
,它就会工作。看见
> new Worker("http://web-reports-static.s3.us-east-2.amazonaws.com/_next/e02d25753c0f34f5e22c.worker.js")

VM1925:1 Uncaught DOMException: Failed to construct 'Worker': Script at 'http://web-reports-static.s3.us-east-2.amazonaws.com/_next/e02d25753c0f34f5e22c.worker.js' cannot be accessed from origin 'https://stackoverflow.com'.
    at <anonymous>:1:1
(anonymous) @ VM1925:1