Всплывающее окно не открывается в IONICv1 InAppBrowser

Я новичок в IONIC, и я пытаюсь реализовать платежный шлюз в моем ионном приложении. У меня все настроено во внешнем URL, только чтобы загрузить его в приложение через inappbrowser. все выглядит хорошо, особенно с мастер-картой, до тех пор, пока клиент не решит использовать карту Visa для осуществления платежа, который, к сожалению, требует "Проверенная виза" (всплывающее окно VBV/3DS) как часть потока транзакций.

ТЕПЕРЬ ПРОБЛЕМА: всплывающее окно не появится в inappbrowser. Я пытался использовать iFrame, все то же самое. Я уже изучил документацию Cordova на InAppBrowser, но тоже не помог. Любые предложения будут оценены. в моем конфиге: `

<access origin="*"/>
  <allow-navigation href="*" />
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
<preference name="BackupWebStorage" value="none"/>

`

2 ответа

Решение

После стольких усилий я связался с поставщиком услуг веб-оплаты, и он выполняет перенаправление (всплывающее окно) загрузки на iFrame, а не пытается загрузить его в новом окне. Это то, что решило мою проблему.

TL;DR: официальный плагин Cordova InAppBrowser (IAB) не поддерживает всплывающие окна.

Я столкнулся с этой же проблемой при попытке отобразить веб-страницы, содержащие Braintree JS SDK, в приложении Cordova с использованием IAB.

Braintree (который теперь является дочерней компанией PayPal) создал "PopupBridge", который позволяет веб-приложениям мобильного приложения открывать всплывающие окна в браузере и эмулировать межкадровую связь между родительской (WebView) и дочерней (браузерной) страницами. Есть версии для Android и iOS. Однако их работа нацелена на собственные приложения, а не на приложения Cordova.

Поэтому я создал https://github.com/dpa99c/cordova-plugin-inappbrowser-popup-bridge, который добавляет поддержку функциональности Braintree PopupBridge в InappBrowser Cordova. Это позволяет поддерживать платежи PayPal с поддержкой Braintree в контексте элемента InappBrowser в приложениях для Android и iOS на основе Cordova.

Это можно увидеть, работая с примером приложения Cordova, созданным мной, для проверки концепции, который открывает веб-страницу Braintree PopupBridge Example в IAB WebView.

В Braintree PopupBridge для iOS используется WKWebView (новый iOS WebView начиная с iOS 8), однако официальный плагин Cordova IAB по-прежнему использует более старый UIWebView. Поэтому в моей разветвленной версии IAB я переписал плагин IAB для iOS, чтобы использовать WKWebView вместо UIWebView.

Другие вопросы по тегам