У меня есть сайт http://example.com. Этот сайт использует сторонний код JS: <script src="http://third.party/script.js"></script>
http://example.com
<script src="http://third.party/script.js"></script>
http://third.party/script.js содержит следующий код:
http://third.party/script.js
console.log("self.origin", self.origin); fetch("http://third.party/api");
Когда я открываю http://example.com, я получаю следующее вывод в консоли разработчика:
self.origin http://example.com Access to fetch at 'http://third.party/api' from origin 'http://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Сторонний скрипт попытался загрузить данные из стороннего API, но это не удалось. Почему не удалось?
Сторонний скрипт и API имеют одно и то же доменное имя (происхождение). Должно ли это быть разрешено той же политикой происхождения?
Источник определяется URL-адресом веб-страницы, на которую загружается JavaScript, а не URL-адресом самого файла JS.