Диалоговое окно общего доступа FB.ui() в мобильном Chrome не ожидает пользователя и не закрывает диалоговое окно

#facebook-javascript-sdk #facebook-sharer #mobile-chrome #fb.ui

Вопрос:

Внимание: Эта проблема возникает только в мобильном браузере Chrome. Воспроизводится на Samsung Note9 iPhone 11.

Мы заметили это ~1 месяц назад:

FB.ui() диалоговое окно общего доступа (https://developers.facebook.com/docs/sharing/reference/share-dialog) открывает новую вкладку и немедленно запускает функцию обратного вызова, не дожидаясь ввода данных пользователем. Как только пользователь нажмет «опубликовать» на вкладке диалога, он попытается перенаправить на URL родительской вкладки «#bc=» вместо закрытия и возврата управления вызывающему абоненту. В итоге открываются 2 вкладки.

Другие мобильные браузеры, включая все большие экраны / Samsung Internet / Firefox mobile / Safari mobile, будут продолжать вести себя нормально, например: Вызывающий абонент открывает диалоговое окно на новой вкладке / после того, как пользователи нажимают «Опубликовать», диалоговое окно закрывается / управление возвращается вызывающему абоненту / вызывающий абонент выполняет обратный вызов.

Что пошло не так с мобильным chrome?

Вот соответствующий код:

     <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId            : '11111111111111111',
          autoLogAppEvents : true,
          //xfbml            : true,
          version          : 'v12.0'
        });
      };
    </script>
    
    <script>
        document.getElementById('shareBtn2').onclick = function () { FbShare(); }
            function FbShare () {
                FB.ui({
                    method: 'share',
                    display: 'popup',
                    href: 'https://stackoverflow.com'
                }, function (response) {
                    alert (navigator.userAgent);
                    if (response) {
                        alert('Posted');
                    }
                    else {
                        alert('Not Posted');
                    }
                });
            }
    </script>