<script> 标记是否与 javascript/fetch 调用受相同的 CORS 限制?

Are <script> tags subject to the same CORS restrictions as javascript/fetch calls?

通常的做法是使用脚本标签包含来自其他源的脚本,但是当您在其他源上使用提取调用时,必须仔细配置所有内容,否则您会收到 CORS 错误。

脚本标签是否以某种方式绕过了 CORS?它是如何工作的?

同源策略防止JavaScript未经许可(通常由 CORS 提供)从其他来源读取数据

运行 JavaScript 来自其他来源的同源策略不会阻止(加载样式表、显示图像、iframe 中的内容等)。

JavaScript 在页面中不能(通常)首先通过这些方法从其他来源读取敏感数据。

值得注意的是,如果您切换到 ES 模块加载方式 Javascript(即 <script type="module" > ),那么您需要启用 CORS服务器,如果 src 位于不同的来源。

<!-- Not a CORS request -->
<script src="https://example.com/script.js"></script>

<!-- CORS request -->
<script type="module" src="https://example.com/script.js"></script>

您可以在这里找到更多信息:https://jakearchibald.com/2021/cors/