如何使用 cordova/phonegap 在 inApp 浏览器中打开 Paypal

How to open Paypal in inApp Browser using cordova/phonegap

我正在 PhoneGap 中使用 JavaScript 集成 PayPal 集成,但我遇到了一个问题,即它无法在 inApp 浏览器中打开。相反,它是在我的应用程序之外打开的。所以我希望在 inApp 浏览器中打开 PayPal URL。
我是 PhoneGap 的新手,所以如果有人知道请帮忙。下面是代码

<form id="openpaypal" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NSH74TD463ZSU">
<input type="image" src="https://www.paypalobjects.com/en_GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer,  easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>

//script here

<script>
        document.getElementById("openpaypal").addEventListener("click", openBrowser);

        function openBrowser() {
            alert("called here");
            var url = 'https://www.paypal.com/cgi-bin/webscr';
            var target = '_blank';
            var options = "location=yes"
            var ref = cordova.InAppBrowser.open(url, target, options);

            ref.addEventListener('loadstart', loadstartCallback);
            ref.addEventListener('loadstop', loadstopCallback);
            ref.addEventListener('loadloaderror', loaderrorCallback);
            ref.addEventListener('exit', exitCallback);

            function loadstartCallback(event) {
                console.log('Loading started: ' + event.url)
            }

            function loadstopCallback(event) {
                console.log('Loading finished: ' + event.url)
            }

            function loaderrorCallback(error) {
                console.log('Loading error: ' + error.message)
            }

            function exitCallback() {
                console.log('Browser is closed...')
            }
        }
    </script>

对于 cordova 命令

先添加插件

Here 是 link

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git

这是您的脚本

<script src="assets/js/cordova.js" type="text/javascript"></script> 
<script src="assets/js/min/app.js" type="text/javascript"></script>

但是在构建应用程序时 cordova.js 自动添加到 www 文件夹的根路径

所以像下面这样添加

<script src="cordova.js" type="text/javascript"></script> 

对于 PhoneGap 构建

将此行添加到 config.xml 文件

<plugin name="org.li8.inappbrowser" spec="0.1" source="pgb" />

设置脚本

<script src="phonegap.js" type="text/javascript"></script> 

已编辑

在设备准备就绪后调用您的功能可能会给您带来麻烦

document.addEventListener("deviceready",onDeviceReady,false);

function onDeviceReady()
{
    document.getElementById("openpaypal").addEventListener("click", openBrowser);
}

function openBrowser() 
{
    var url = 'https://www.paypal.com/cgi-bin/webscr';
    var target = '_blank';
    var options = "location=yes";
    var ref = window.open(url, target, options);
}