javascript - Access-Control-Allow-Origin: 同源 & recaptcha & YouTube-视频
问题描述
我的网站有问题。我使用了需要 SharedArrayBuffers 的 ffmpeg.wasm。这要求我包含作为标题 Access-Control-Allow-Origin: same-origin。问题是这会阻止我的 YouTube 视频和我的库(如 recaptcha)。我完全不知道如何使用两者。有人对此有任何提示吗?无法从文档中弄清楚。
感谢所有的答案。
<?php
header('Content-Type: text/html; charset=utf-8');
header('Access-Control-Allow-Origin: same-origin');
header('Cross-Origin-Embedder-Policy: require-corp');
//Just for testing
header('Access-Control-Allow-Origin: https://www.google.com');
header('Access-Control-Allow-Origin: https://ajax.googleapis.com');
header('Access-Control-Allow-Methods: GET');
?>
<html lang="de">
<head>
<meta charset="utf-8">
<title>AtmosFX-Translator Online</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
解决方案
那是由Cross-Origin-Embedder-Policy: require-corp
. 有必要继续使用 SharedArrayBuffer,但您也需要Cross-Origin-Opener-Policy: same-origin
。
这些是采用“跨域隔离”的要求,这里是如何启用它的指南:https ://web.dev/cross-origin-isolation-guide/