React本机WebView陷入了加载难题。基本上,它不会执行onloadingstart ..和onloading完成。这是任意发生的

时间:2018-08-29 05:27:04

标签: react-native webview uiwebview

问题是WebView源对象具有html字符串,应在显示加载指示符后显示该字符串。但有时它不显示html。删除加载指示器根本不显示任何内容。

我在调试后发现这种情况阻止了webViewDidFinishLoad()方法的调用。我现在已经评论(我不知道obj C),并且将进行调试以查看是否有任何问题..如果有人知道发生了什么,请帮助我。

它将返回,并且加载处理程序将完全不运行。

// file - RCTWebView.m:222
if (!isJSNavigation && _onShouldStartLoadWithRequest) {
    RCTLogWarn(@"When this condition is true load method is not called");
    NSMutableDictionary<NSString *, id> *event = [self baseEvent];
        [event addEntriesFromDictionary: @{
        @"url": (request.URL).absoluteString,
        @"navigationType": navigationTypes[@(navigationType)]
    }];
    //  if (![self.delegate webView:self
    //     shouldStartLoadForRequest:event
    //                  withCallback:_onShouldStartLoadWithRequest]) {
    //                    RCTLogWarn(@"SIm waiting for the 1 2 2");
    //     return NO;
    //  }
}

this-rn-github-issue声称已解决,但对我而言尚未解决。 我有0.56 RN并在iOS上进行了测试

用法:

<WebView
    injectedJavaScript={'(' + String(injectedScript) + ')();'}
    ref={ref => {
        this.webview = ref;
    }}
    onNavigationStateChange={this.onClick.bind(this)}
    onMessage={this.onMessage}
    scrollEnabled={scrollEnabled}
    javaScriptEnabled
    automaticallyAdjustContentInsets
    {...this.props}
    style={[{ width: _w }, this.props.style, { height: _h }]}
/>

this.props= {source={{ html: content }}
            startInLoadingState={true}
            style={{
                left: 6,
                width: DeviceDimensions.width
            }}}

0 个答案:

没有答案