我对科尔多瓦 1.9 有同样的问题。
我使用的插件版本对 showWebPage 函数有不同的代码:
// Show a webpage, will result in a callback to onLocationChange
ChildBrowser.prototype.showWebPage = function(loc)
{
cordovaRef.exec("ChildBrowserCommand.showWebPage", loc);
};
我在日志中注意到,当子浏览器出现故障时,javascript 'click' 函数会快速连续调用两次。有时会在第一次点击时发生,有时会在 5 或 6 次之后发生。
2012-07-27 09:27:12.155 XX[10562:707] [INFO] JS :: Should open in childBrowser
2012-07-27 09:27:12.158 XX[10562:707] Opening Url : http://www.google.co.uk/
2012-07-27 09:27:12.160 XX[10562:707] [INFO] JS :: Should open in childBrowser
2012-07-27 09:27:12.161 XX[10562:707] *** WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: <NSInvalidArgumentException> Application tried to present modally an active controller <MainViewController: 0x157e50>.
我尝试在单击按钮后从按钮中删除单击事件,然后将其重新应用于 childBrowser.onClose 事件,这似乎确实有助于解决子浏览器崩溃问题。