我正在使用cordova InAppBrowser来显示我应用中外部网站的内容.当我在iPhone上打开浏览器时,InAppBrowser底部有一些按钮用于关闭它或来回导航.Android设备上的InAppBrowser没有这样的按钮,并且没有明显的方式让用户关闭浏览器.
我知道如何以编程方式关闭InAppBrowser,但是在使用Android设备时用户如何关闭它?
我知道用户能打到硬件后退按钮关闭浏览器,但(1)这不是直观的 - 后退按钮通常意味着"回去的网页",和(2)我最终想改变的行为返回按钮返回显示在InAppBrowser内部的站点内的页面,而不是关闭浏览器.
我正在开发Phonegap应用程序,目前我正在使用InAppBrowser显示外部页面.在一些外部页面上,我放置了一个关闭按钮,我想关闭InAppBrowser本身.因为InAppBrowser显示这些页面,这就是为什么不能自己访问它的引用来关闭它,请不要建议我使用ChildBrowser插件.
window.close(); //Not Worked for me
or
iabRef.close(); //Also not Worked for me because iabRef is not accessible on InAppBrowser. It is created on Parent Window
Run Code Online (Sandbox Code Playgroud)
一些Android设备和iOS设备显示一个完成按钮来关闭它.除了iPad还显示完成按钮.但在Android平板电脑的情况下,没有任何按钮可以关闭它.
更新: -
这是我的完整代码: -
var iabRef = null;
function iabLoadStart(event) {
}
function iabLoadStop(event) {
}
function iabClose(event) {
iabRef.removeEventListener('loadstart', iabLoadStart);
iabRef.removeEventListener('loadstop', iabLoadStop);
iabRef.removeEventListener('exit', iabClose);
}
function startInAppB() {
var myURL=encodeURI('http://www.domain.com/some_path/mypage.html');
iabRef = window.open(myURL,'_blank', 'location=yes');
iabRef.addEventListener('loadstart', iabLoadStart);
iabRef.addEventListener('loadstop', iabLoadStop);
iabRef.addEventListener('exit', iabClose);
}
Run Code Online (Sandbox Code Playgroud)