通常的做法是使用脚本标记包含来自其他来源的脚本,但是当您在其他来源上使用fetch调用时,必须仔细配置所有内容,否则您将获得CORS错误。脚本标记是否以某种方式绕过CORS?它是如何工作的?
vaj7vani1#
同源策略防止JavaScript * 未经许可(通常由CORS提供)从其他源阅读数据 *。同源策略不会阻止从其他源运行JavaScript(加载样式表、显示图像、iframe中的内容等也不会阻止)。页面中的JavaScript首先不能(通常)通过这些方法从其他来源读取敏感数据。
gjmwrych2#
这取决于,如果你试图加载一个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>
注意,可以在第一个请求中添加crossorigin属性,让浏览器将其作为CORS请求处理。你可以在这里找到更多:https://jakearchibald.com/2021/cors/
2条答案
按热度按时间vaj7vani1#
同源策略防止JavaScript * 未经许可(通常由CORS提供)从其他源阅读数据 *。
同源策略不会阻止从其他源运行JavaScript(加载样式表、显示图像、iframe中的内容等也不会阻止)。
页面中的JavaScript首先不能(通常)通过这些方法从其他来源读取敏感数据。
gjmwrych2#
这取决于,如果你试图加载一个Javascript模块(即〈script type=“module”〉),那么你需要一个启用CORS的服务器,如果src在不同的源上。否则否。即
注意,可以在第一个请求中添加crossorigin属性,让浏览器将其作为CORS请求处理。
你可以在这里找到更多:https://jakearchibald.com/2021/cors/