Cordova InAppBrowser插件冻结应用程序

时间:2017-02-21 20:44:25

标签: ios cordova phonegap-plugins

我们有基于混合cordova的iOS应用程序。我们使用InAppBrowser插件使用以下代码在移动版Safari中打开网址:

window.open(encodeURI(appurl), '_system', options);

这会将用户从我们的应用中删除并打开移动版Safari浏览器并尝试加载该网址。如果,当网址仍然加载时,我们点击iOS的“返回myApp”按钮返回我们的应用程序,应用程序被冻结。 UI不响应点击或任何事件。在日志中,我继续看到这些行:

2017-02-21 22:36:33.343 myESS[6467:1487510] in open
2017-02-21 22:36:33.344 myESS[6467:1487510] THREAD WARNING: ['InAppBrowser'] took '18.220947' ms. Plugin should use a background thread.
2017-02-21 22:36:33.363 myESS[6467:1487510] in open
2017-02-21 22:36:33.364 myESS[6467:1487510] THREAD WARNING: ['InAppBrowser'] took '19.006836' ms. Plugin should use a background thread.
2017-02-21 22:36:33.383 myESS[6467:1487510] in open
2017-02-21 22:36:33.383 myESS[6467:1487510] THREAD WARNING: ['InAppBrowser'] took '19.141113' ms. Plugin should use a background thread. 

这些日志会持续一段时间。我尝试加载的网址只是http://www.google.com。日志语句会持续几秒钟。然后日志停止,我自动从我的应用程序移到移动safari浏览器。 如果我现在回到myApp,UI会响应。

关于插件为何如此表现的任何想法?插件open方法会被多次自动调用,并冻结应用程序UI,直到加载网址。关于如何解决这个问题的任何建议?

1 个答案:

答案 0 :(得分:0)

下面的代码段可能会对您有所帮助

No data found with this ID