JavaScript SDK:: FB.ui() и блок всплывающих окон в мобильном браузере Safari для iOS и Android

Теперь я реализую кредитную функцию Facebook с помощью JavaScript SDK. Я использовал "FB.ui({method: 'pay', ....}, обратный вызов)", и теперь он работает нормально.

Когда я использую эту функцию FB.ui с методом: «оплата» на мобильном сайте, таком как iPhone или Android, он пытается открыть другое всплывающее окно для диалога оплаты.

Но, как всем известно, браузер iPhone или Android по умолчанию блокирует всплывающее окно, поэтому мы должны отключить блокировку всплывающих окон в настройках, если мы хотим работать с этим методом оплаты FB.ui.

Есть ли способы не открывать еще одно всплывающее окно для диалога оплаты?


person 小林 学    schedule 28.10.2011    source источник


Ответы (1)


решение заключается в том, чтобы поместить код, вызывающий FB.ui, в атрибут onclick кнопки. как это делает хакбук для веб-приложений facebook:

http://www.facebookmobileweb.com/hackbook/ (откройте это во всплывающем окне заблокированного браузера и нажмите «Предложить оплату» на странице «Кредиты»)

Вот html-код кнопки «Подтвердить оплату»:

<div id="publish_button" class="button" onclick="sendPay()">Prompt to Pay</div>

и вот причина, по которой браузер не блокирует такие всплывающие окна:

Предотвращение блокировки всплывающих окон

person Siyuan Zhang    schedule 06.03.2012
comment
этот ответ недооценен - person Bogdan M.; 16.10.2017