У вас есть разные варианты для достижения такого поведения с помощью JavaScript.Вот пример, чтобы сделать это с помощью динамического создания элемента скрипта в документе, используя document.createElement
.
<script>
function initAnnounce($) {
let locale = {{Lang}};
let script = document.createElement('script');
if (locale === 'en'){
script.src = "https://script1.js.ubembed.com";
} else if (loale === 'pl') {
script.src = "https://script2.js.ubembed.com";
} else {
script.src = "https://script3.js.ubembed.com";
}
document.write(script.outerHTML);
};
</script>
Другой вариант будет использовать document.write()
и написать новый полный скрипт-тег к документу.
Альтернативное использование nodeElement.insertBefore()
вместо document.write()
:
<script>
function initAnnounce($) {
let locale = {{Lang}};
let script = document.createElement('script');
if (locale === 'en'){
script.src = "https://script1.js.ubembed.com";
} else if (loale === 'pl') {
script.src = "https://script2.js.ubembed.com";
} else {
script.src = "https://script3.js.ubembed.com";
}
let el = document.getElementsByTagName('script')[0];
el.parentNode.insertBefore(script, el);
};
</script>
Вы также можете использовать document.body.appendChild(script);
, есть много способов манипулировать документом и его элементами.
Но так как кажется, что вы используете какой-то механизм / систему шаблонов, вам следует проверить, поддерживает ли этот механизм шаблонов условные операторы (если / еще), и сделать это внутри самого шаблона.