Всплывающее окно не открывается в 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.