如何在控制器加载时立即显示 InAppBrowser 的实例,而 Ionic 应用程序不会无响应?

Posted

技术标签:

【中文标题】如何在控制器加载时立即显示 InAppBrowser 的实例,而 Ionic 应用程序不会无响应?【英文标题】:How to immediately show an instance of InAppBrowser, when a controller loads, without the Ionic app becoming unresponsive? 【发布时间】:2016-02-09 11:46:52 【问题描述】:

我正在使用 Ionic 1.2.4。我立即通过 Angular 控制器显示 InAppBrowser (https://github.com/apache/cordova-plugin-inappbrowser)。我还设置了控制器以通过再次显示 InAppBrowser 来响应页面上的点击。

InAppBrowser 的初始外观可以正常工作。但是,一旦用户点击“完成”,然后点击显示的页面,随后的 InAppBrowser 就不会显示。除此之外,该应用似乎停止响应进一步的手势(页面设置为显示它检测到的触摸手势的数量)。

我已确认通过在没有立即显示 InAppBrowser 的情况下进行测试,在点击时呈现 InAppBrowser 的代码没有问题。这导致用户可以无限期地显示和关闭 InAppBrowser 的应用程序(并且在页面上正确显示触摸次数)。

我在这里有一个问题的演示:https://github.com/ryanggrey/cordova-plugin-inappbrowser-issue。这显示了我所有的代码和依赖版本(参见 package.json 和 bower.json)。 touch.js 是可以找到上述所有代码的地方。

我猜我在 cordova-plugin-inappbrowser 中发现了一个错误,或者我使用的 API 不正确。任何建议将不胜感激!

【问题讨论】:

【参考方案1】:

我猜这个问题是由于从 Cordova 添加的 inappbrowser 插件,因为其中缺少一些代码。删除插件并尝试从

添加它

- 科尔多瓦插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git

希望它会奏效。

【讨论】:

感谢您的建议。 “其中缺少某些代码”是什么意思?我最初按照github.com/apache/cordova-plugin-inappbrowser#installation 添加插件并指定版本1.2.1。 我试过你的建议,但似乎没有帮助。

以上是关于如何在控制器加载时立即显示 InAppBrowser 的实例,而 Ionic 应用程序不会无响应?的主要内容,如果未能解决你的问题,请参考以下文章

UIView 在加载 NIB 文件后立即显示?

加载特定视图控制器后立即运行代码

从情节提要设置约束后如何立即修改约束?

数据表 - 在页面加载时,表格布局不会立即加载

Parsley 验证在表单加载并显示错误时立即开始

状态更新没有立即反映。如何使用 useEffect 的依赖数组来显示更改?