如何使用 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);
}
我正在 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);
}