In alcuni casi, quando il codice JavaScript inline viene ritardato a causa:
vengono messe in atto delle esclusioni predefinite.
Questo può succedere in particolare quando una funzione chiamata “JS Optimizations” viene configurata nei plugin di cache. Ad esempio, WP-Rocket, Autoptimize, e simili.
Siccome la nostra soluzione Privacy Controls and Cookie Solution è scritta in JavaScript, se altri plugin provano a ottimizzarla, può capitare che il nostro script smetta di funzionare. Per questo, devi configurare ogni plugin di cache in modo che “ignori” il nostro script “inline”, che contiene la parte che l’utente incolla nel tag head
quando installa Privacy Controls and Cookie Solution o utilizza il nostro plugin.
Ad esempio, nel caso in cui le esclusioni predefinite siano presenti, viene mostrato un errore JavaScript:
In questo caso, devi fare quanto segue:
1. Escludi _iub
dalle funzioni “combine” e “minification” all’interno delle impostazioni di WP-Rocket. Per farlo, aggiungile nel campo esclusioni, come mostrato qui sotto:
Dal momento che il nostro script ha smesso di funzionare per una precedente JS Optimizations, ora dobbiamo aggiungere nuovamente lo script originale di Privacy Controls and Cookie Solution nel tag head
del nostro plugin WordPress:
Se usi WP-Rocket con versione pari o superiore alla 3.13 e hai abilitato la funzione “Delay JavaScript execution“, puoi escludere il nostro plugin nella sezione “One-click exclusions” in questo modo:
2. Aggiungi nuovamente lo script di Privacy Controls and Cookie Solution nel tag head
:
<script type="text/javascript">
var _iub = _iub || [];
_iub.csConfiguration = {"enableCcpa":true,"countryDetection":true,"askConsentAtCookiePolicyUpdate":true,"consentOnScroll":false,"consentOnDocument":true,"ccpaAcknowledgeOnDisplay":false,"whitelabel":false,"lang":"en","siteId":1264045,"cookiePolicyId":93663998, "banner":{ "position":"bottom" }};
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/ccpa/stub.js"></script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
3. Assicurati che siano presenti le esclusioni predefinite.
4. Controlla se ci sono errori dalla console JavaScript.
Lo stesso problema può presentarsi con il plugin Autoptimize e puoi risolverlo aggiungendo l’attributo data-noptimize
allo script inline dii Privacy Controls and Cookie Solution.
Autoptimize riconosce l’attributo dello script, data-noptimize
, così lo script non verrà inserito inline o comunque verrà ignorato. Si può inserire Autoptimize nel nostro script inline in questo modo:
<script data-noptimize="true">
var _iub = _iub || [];
_iub.csConfiguration = {"enableCcpa":true,"countryDetection":true,"askConsentAtCookiePolicyUpdate":true,"consentOnScroll":false,"consentOnDocument":true,"ccpaAcknowledgeOnDisplay":false,"whitelabel":false,"lang":"en","siteId":1264045,"cookiePolicyId":93663998, "banner":{ "position":"bottom" }};
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/ccpa/stub.js"></script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Seguendo questi passaggi, non ci dovrebbero essere errori quando viene ritardata l’esecuzione di JavaScript.
In genere, puoi prendere in considerazione di escludere da ogni funzionalità della JS Optimizations del tuo plugin di cache anche il nostro file esterno iubenda_cs.js
, stub-v2.js
e stub.js