Il plug-in della chat di Facebook scorre automaticamente la pagina verso l'alto quando viene caricata

Aug 22 2020

Sto usando il plugin per la chat di Facebook versione 8.0 su un sito alimentato da OpenCart (anche se sospetto che accadrà in qualsiasi CMS). Sono sempre necessari alcuni secondi per il caricamento completo del plug-in di chat e per la visualizzazione dell'icona nell'angolo inferiore destro della pagina.

Tuttavia, quando viene visualizzata l'icona, la pagina scorre immediatamente verso l'alto. Quindi, se un utente ha già iniziato a scorrere verso il basso, viene interrotto e la pagina viene ripristinata.

Qualche idea su cosa potrebbe causare questo e su come prevenirlo?

Questo è il mio codice (codice vanilla generato automaticamente da Facebook in Impostazioni-> Messaggi-> Aggiungi Messenger al tuo sito web):

<script>      

        FB.init({
            xfbml            : true,
            version          : 'v8.0'
          });
        };

        (function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) return;
          js = d.createElement(s); js.id = id;
          js.src = 'https://connect.facebook.net/en_US/sdk/xfbml.customerchat.js';
          fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));
  
</script>

        <!-- Your Chat Plugin code -->
        <div class="fb-customerchat"
            greeting_dialog_display="hide"
            attribution=setup_tool
            page_id="xxxxxxxxxxxxxxxx"
            theme_color="#67b868">
        </div>

Risposte

3 EranPeer Oct 05 2020 at 15:35

Il bug è attualmente monitorato qui: https://developers.facebook.com/support/bugs/619023102320436/.

Al momento ho implementato il seguente hack (intorno al tempo di caricamento del plugin):

var originalScrollTo = window.scrollTo;
window.scrollTo = function() {};

setTimeout(function() {
 window.scrollTo = originalScrollTo;
}, 5000);
RoyHoejgaard Aug 22 2020 at 11:15

Si scopre che questo comportamento si verifica solo su un browser Web per PC in modalità di progettazione reattiva che emula uno smartphone (testato su Chrome 84.0 e Firefox 79.0).

Su uno smartphone reale non scorre verso l'alto.

Modifica: mi sono sbagliato, dopotutto scorre verso l'alto sul mio smartphone. Si prega di vedere la soluzione temporanea a questo problema nella prima risposta.