InAppBrowser在科尔多瓦2.7.0
是否有解决问题的时候在加载页面崩溃之前关闭inAppBrowser ios应用程序?InAppBrowser在科尔多瓦2.7.0
科尔多瓦版本2.7.0
的inAppBrowser导致iOS应用崩溃(关闭而没有警告)如果“完成”按钮被点击之内的第二或两个开口(当然不是每一次的 - 但3出通常4 - 尝试iphone和ipad)。
我们尝试在try/catch块中包装所有相关的javascript,并且它们没有被解雇。我们还尝试在inAppBrowser错误事件中注册事件监听器(也未触发)。
它看起来像一个导致ios崩溃的PhoneGapBuild问题。
所有和任何帮助/反馈非常感谢。
我刚刚向Cordova报告了同样的问题,https://issues.apache.org/jira/browse/CB-4995并提出了可能的解决方案。这是我们用于Cordova 2.8.15 iOS应用程序的解决方案。
你可以在上面的链接看到更多的细节,但总的来说,飞机坠毁是因为self.inAppBrowserViewController在CDVInAppBrowser.m webViewDidFinishLoad下是零,如果webViewDidFinishLoad被称为有点晚了,由于浏览器的快速关闭,这就要求browserExit事先删除self.inAppBrowserViewController。我们解决了该问题由零检查中webViewDidFinishLoad self.inAppBrowserViewController并使用这个自定义修补CDVInAppBrowser.m
有一个在http://community.phonegap.com/nitobi/topics/inappbrowser_causes_ios_apps_to_crash_on_close-15h8ot这为我工作描述的解决方案。
它涉及到添加一个事件监听器到“退出”事件,并且当这个事件被触发时调用close()方法。
我不知道这是为什么起作用,但它对我有用。
var inAppBrowser = window.open("http://google.com","_blank");
inAppBrowser.addEventListener("exit", function(event) {
inAppBrowser.close();
});
科尔多瓦问题是正式固定为CB-4995,并且它可以在[https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-inappbrowser被看作的.git; A =提交; H = aa81c326](https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-inappbrowser.git;a=commit;h=aa81c326)。 – hyong