Cordova/iOS:如何关闭使用 InAppBrowser 打开的本机浏览器窗口?
Posted
技术标签:
【中文标题】Cordova/iOS:如何关闭使用 InAppBrowser 打开的本机浏览器窗口?【英文标题】:Cordova/iOS: How to close native browser window opened with InAppBrowser? 【发布时间】:2014-07-17 18:20:38 【问题描述】:我在 _system
浏览器中打开一个 URL,它会重定向回应用程序(使用自定义 URL 方案)。回到应用程序后,我想关闭外部浏览器窗口,但它不起作用。
var iab = window.open(url, '_system', 'location=no');
...
iab.close(); // log: "IAB.close() called but it was already closed."
它会关闭应用内浏览器窗口,但不会关闭 _system
窗口。有没有办法做到这一点?
【问题讨论】:
2019 年仍然存在同样的问题 :( 有什么想法吗? 不,似乎不允许应用程序关闭系统浏览器窗口。这是有道理的...window.open
并没有真正在您的应用程序中打开另一个 Web 视图 - 它要求系统启动另一个应用程序。我们不能乱用其他应用程序的窗口。
【参考方案1】:
在目标页面上使用 iframe。
var iab = window.open(url, '_system', 'location=no');
Url 重定向到具有 iframe 并在超时前关闭的页面。
<iframe src="myurl://..."></iframe>
setTimeout(function()
window.close();
,1000);
【讨论】:
以上是关于Cordova/iOS:如何关闭使用 InAppBrowser 打开的本机浏览器窗口?的主要内容,如果未能解决你的问题,请参考以下文章
Sencha Touch Cordova iOS 应用程序加载和关闭时间超过 20 秒
如何仅使用 iOS 源代码更新 Cordova iOS 平台项目