Modificare il widget in base alla posizione del visitatore utilizzando la geolocalizzazione IP di Cloudflare
Prerequisiti
- Devi essere esperto nell'impostazione dei cookie sui server web.
Cloudflare ha una configurazione di rete chiamata Geolocalizzazione IP. Questa funzione include il codice paese associato alla posizione del visitatore del tuo sito web quando risponde a tutte le richieste sul tuo sito web.
Utilizzando queste informazioni, possiamo impostare la visualizzazione del widget in base alla posizione corrente del visitatore.
Impostazione del cookie “paese”
Affinché questo procedimento funzioni, devi innanzitutto abilitare la configurazione della geolocalizzazione IP. Scopri come nella sezione Configurazione della geolocalizzazione IP di questo articolo: Configurazione della geolocalizzazione IP di Cloudflare
Ora dovresti essere in grado di ricevere il codice del paese nei request header.
Scopri come ottenere il codice del paese in base al tuo linguaggio di programmazione preferito nella sezione Acquisizione dei dati di geolocalizzazione nella sezione Logica dell'applicazione nell'articolo Configurazione della geolocalizzazione IP di Cloudflare.
Fatto ciò, devi solo impostarlo come un cookie chiamato "paese" e saremo in grado di creare criteri su quale widget visualizzare in base a quei dati del cookie.
Codice
Ecco uno snippet di codice che ti consente di visualizzare automaticamente il widget in base alla posizione corrente del visitatore.
Per utilizzare il codice, devi prima aggiungere gli ID del widget e della proprietà.
Scopri dove trovare gli ID il del widget e della proprietà qui: Dove posso trovare gli ID del widget e della proprietà?
Per l'elenco dei codici paese che Cloudflare può restituire, puoi dare un'occhiata a ISO 3166-1 alpha-2 - Lista dei codici assegnati ufficialmente .
xxxxxxxxxx
<!--Start of Tawk.to Script-->
<script type="text/javascript">
function getChatId() {
// function to retrieve the property/widget chat id;
// substitute 000000000001 to property id
// check if country is in cookies
// if not return the default widget
if (!document.cookie.includes('country=')) {
return '000000000001/DEFAULT_WIDGET';
}
// get the country code that came from Cloudflare's IP Geolocation and was set as a cookie
var country = document.cookie.split('; country=').pop().split(';')[0];
if (['US, PH, SG'].includes(country)) { // set of countries for EN widget
return '000000000001/WIDGET_FOR_EN';
} else if (['RU', 'BY'].includes(country)) { // set of countries for RU widget
return '000000000001/WIDGET_FOR_RU';
} else if (['DE', 'BE', 'AT', 'LU'].includes(country)) { // set of countries for DE widget
return '000000000001/WIDGET_FOR_DE';
} else {
return '000000000001/DEFAULT_WIDGET';
}
}
(function () {
var chatId = getChatId();
if (!chatId) {
return;
}
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
s1.src = 'https://embed.tawk.to/' + chatId;
s1.charset='UTF-8';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
</script>
<!--End of Tawk.to Script-->
Scopri di più sull'aggiunta di più widget a un sito Web qui: Come aggiungere più widget a un sito Web con JavaScript
Se hai bisogno di ulteriore assistenza per configurare più widget sul tuo sito, visita la nostra piattaforma di sviluppo o contattaci via chat. Siamo qui per aiutarti, sempre.