我无法弄清楚这一点。我在android app的phonegap中打开了一个子浏览器:
window.open( url, '_blank', 'location=yes' );
这不太对。它会打开浏览器,但完成按钮不会关闭浏览器而不会返回主应用程序。
我已尝试使用我发现的其他解决方案:
window.close equivalent in Phonegap with InAppBrowser:
此代码是phonegap应用程序:
var ref = window.open(encodeURI(url), '_blank', options);
ref.addEventListener('loadstop', function(event) {
if (event.url.match("mobile/close")) {
ref.close();
}
});
此按钮是在我之前加载的网址页面中创建的:
<a href="/mobile/close">Close</a>
它不起作用。有什么帮助吗?
更新
答案 0 :(得分:1)
我让这个工作。我的代码很相似,但这里是我做的不同的事情 我使用loadstart而不是loadstop。 我也删除了这些事件。
function iabWindowOpen(url) {
//May need to encodeURI on iOS so far working fine on android
g_iabRef = window.open(url, "_blank", "location=yes,closebuttoncaption=Cancel");
g_iabRef.addEventListener('loadstart', iabLoadStart);
g_iabRef.addEventListener('loaderror', iabError);
g_iabRef.addEventListener('exit', iabExit);
}
function iabLoadStart(event){
var url = event.url;
LOG ('iabLoadStart - ' + url);
var iOut = url.indexOf("CloseIAB"); //or whatever you are looking for in your url
if(iOut >= 0){
g_iabRef.removeEventListener('loadstart', iabLoadStart);
g_iabRef.removeEventListener('loaderror', iabError);
g_iabRef.removeEventListener('exit', iabExit);
g_iabRef.close();
handleOpenURL(url); //do what you want when you get back
}
}