diff --git a/src/components/AdSlot/AdScripts.svelte b/src/components/AdSlot/AdScripts.svelte index 3cc1dc39..6c31fa44 100644 --- a/src/components/AdSlot/AdScripts.svelte +++ b/src/components/AdSlot/AdScripts.svelte @@ -8,8 +8,10 @@ window.graphicsAdQueue = window.graphicsAdQueue || []; loadScript( 'https://graphics.thomsonreuters.com/cdn/js/bootstrap.static.js', - loadBootstrap + { onload: loadBootstrap, async: false } ); + // Load Freestar script + loadScript('https://a.pub.network/reuters-com/pubfig.min.js'); }); diff --git a/src/components/AdSlot/adScripts/bootstrap.ts b/src/components/AdSlot/adScripts/bootstrap.ts index af8b6d74..f9a45cc3 100644 --- a/src/components/AdSlot/adScripts/bootstrap.ts +++ b/src/components/AdSlot/adScripts/bootstrap.ts @@ -1,6 +1,5 @@ import getParameterByName from './getParameterByName'; import Ias from './ias'; -import { loadScript } from './loadScript'; const ONETRUST_LOGS = 'ot_logs'; const ONETRUST_GEOLOCATION_MOCK = 'ot_geolocation_mock'; @@ -42,9 +41,6 @@ export const loadBootstrap = () => { ); (window).bootstrap.getResults((result) => { - // Load Freestar script - loadScript('https://a.pub.network/reuters-com/pubfig.min.js'); - // Set GAM window.googletag = (window).googletag || { cmd: [] }; window.googletag.cmd.push(() => { diff --git a/src/components/AdSlot/adScripts/loadScript.ts b/src/components/AdSlot/adScripts/loadScript.ts index 389d92e8..08895a2e 100644 --- a/src/components/AdSlot/adScripts/loadScript.ts +++ b/src/components/AdSlot/adScripts/loadScript.ts @@ -1,6 +1,14 @@ -export const loadScript = (src: string, onload?: () => void) => { +interface attributesInterface { + onload?: () => void, + async?: boolean +} + +export const loadScript = (src: string, attributes?: attributesInterface) => { + const { onload, async = true } = attributes || {}; + const script = document.createElement('script'); script.addEventListener('load', onload); + script.async = async; script.src = src; document.head.append(script); };