为什么inAppBrowser打开一个空白的新webview,我无法关闭

时间:2016-06-21 10:06:54

标签: javascript cordova webview cordova-plugins inappbrowser

这种情况有时只会发生,其他时间会按预期运行。 我正在使用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) {并且不会发送请求。

0 个答案:

没有答案