При загрузке JS SDK на наш сайт я пробовал несколько разных способов. Я заметил, что Snippet 1 вызывает ошибку CORS, в то время как Snippet 2 загружает тот же сценарий на на той же странице без проблем.
Snippet 1 ( Используя document.body.appendChild, выдает исключение CORS)
const url = 'https://www.example.com/sdk.js';
const scriptTag = document.createElement('script');
scriptTag.setAttribute('crossorigin', 'anonymous');
scriptTag.setAttribute('src', url);
document.body.appendChild(scriptTag);
Фрагмент 2 (с использованием parentNode.insertBefore, без исключения CORS)
const element = document.getElementsByTagName('script')[0];
const scriptTag = document.createElement('script');
scriptTag.async = !0;
scriptTag.crossorigin = 'anonymous';
scriptTag.src = 'https://www.example.com/sdk.js';
element.parentNode.insertBefore(scriptTag, element);
Я пытался выяснить, почему поведение отличается для каждого случая, но не смог найти для этого никакой причины.
Может ли кто-нибудь указать мне, почему я вижу это поведение?