У меня есть файл JS, который я загрузил в корзину Google Cloud Project. Я использую это как CDN. После того, как я добавил проверку целостности в мой файл JS, который используется в качестве CDN, я получаю сообщение об ошибке
Access to script at someCDN.js from origin requestURL.com has been blocked by CORS policy. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'requestURL.com' is therefore not allowed access
Ранее я мог без проблем использовать этот CDN перед добавлением проверки целостности. Я дважды проверил и убедился, что запрашивающие URL установлены как разрешенные заголовки источника, но теперь я получаю эту ошибку после добавления проверки целостности.
Способ использования CDN заключается в том, что я динамически создаю тег <script>
и добавляю его в DOM.
const script = document.createElement('script')
const parent = document.body
script.src = 'https://storage.googleapis.com/some/file.js'
script.integrity = 'sha384-someSRIhashkey'
script.setAttribute('crossOrigin', 'anonymous')
parent.appendChild(script)
Я сгенерировал HASH https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity#Tools_for_generating_SRI_hashes
После генерации хеша с помощью команды в документе я загружаю свой файл в корзину Google Cloud в виде объекта.