这种情况有时只会发生,其他时间会按预期运行。 我正在使用inAppBrowser在新的webview中打开一个URL。
var ref = cordova.inAppBrowser.open(url, '_blank', _inAppBrowserArgs);
ref.show();
我的问题是有时inAppBrowser会打开一个新的webview并且不会加载url(没有加载指示符)。我只是得到一个空白的屏幕。如果用户点击“完成”并重试他/她得到相同的结果(不起作用),并且在每次尝试时都会创建一个新的空白网页视图(不关闭之前的空白网页视图)。唯一的解决方案是杀死应用程序。 我注意到,当发生这种情况时,“loadstart”事件未被触发。 此外,没有触发“错误”事件。
有什么建议吗? 提前谢谢。
更新
发现这是一个问题,请求没有在插件中发送。 这是插件中的导航功能(ios版本):
- (void)navigateTo:(NSURL*)url
{
NSURLRequest* request = [NSURLRequest requestWithURL:url];
if (_userAgentLockToken != 0) {
[self.webView loadRequest:request];
} else {
__weak CDVInAppBrowserViewController* weakSelf = self;
[CDVUserAgentUtil acquireLock:^(NSInteger lockToken) {
_userAgentLockToken = lockToken;
[CDVUserAgentUtil setUserAgent:_userAgent lockToken:lockToken];
[weakSelf.webView loadRequest:request];
}];
}
}
如果我注释掉除[self.webView loadRequest:request];
之外的所有行,它就可以了。否则它有时会停在[CDVUserAgentUtil acquireLock:^(NSInteger lockToken) {
并且不会发送请求。