Cross-Origin-Embedder-Policy 设置后图片加载失败怎么办?
我在 Vue 项目里加了安全头 Cross-Origin-Embedder-Policy: require-corp,结果页面里的跨域图片全挂了,控制台报错说需要 CORS 或者 crossorigin 属性。但这些图片来自第三方 CDN,没法改响应头,有啥办法能绕过吗?
我试过给 img 标签加 crossorigin="anonymous",但没用,还是被拦截。代码大概是这样:
<template>
<div>
<img
src="https://example-cdn.com/avatar.jpg"
crossorigin="anonymous"
alt="user avatar"
/>
</div>
</template>
require-corp改成Cross-Origin-Embedder-Policy: credentialless,这招对静态图片通常不需要 CORS 头。如果非得保留require-corp,那只能自己写个 Nginx 或 Vite 代理转发图片,然后在响应里手动塞入Access-Control-Allow-Origin: *。