cari

Rumah  >  Soal Jawab  >  teks badan

ios - Mencipta komponen web baharu menggunakan kod WXWebComponent, masalah berikut berlaku

Saya menggunakan WXWebComponent代码,从新写了一个自己的WebComponent yang disediakan oleh weex itu sendiri, dan menambahkan kaedah untuk memintas permintaan Url, mendedahkannya kepada fail weex.

Penerangan masalah

Setiap kali saya memuat turun fail daripada myWebView拦截Url跳到一个weex文件,再次pop回来的时候,再次点击myWebView的时候,就没办法将callback事件返回给weex. Dan mesej ralat berikut muncul

WeexDemo[23225:9905854] void SendDelegateMessage(NSInvocation *): delegate (webView:decidePolicyForNavigationAction:request:frame:decisionListener:) failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode

Siarkan sebahagian kod untuk webView saya untuk memintas Url

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    if (_startLoadEvent) {
        NSMutableDictionary<NSString *, id> *data = [NSMutableDictionary new];
        [data setObject:request.URL.absoluteString ?:@"" forKey:@"url"];
        [self fireEvent:@"pagestart" params:data];
    }
    
    NSString * urlAbsoluteString= [request.URL absoluteString];
    NSArray <NSString *>*schemes = self.schemesCallBacks.allKeys;
    for (NSString *scheme in schemes) {
        NSError *error = nil;
        NSRegularExpression *regExp = [NSRegularExpression regularExpressionWithPattern:scheme options:NSRegularExpressionCaseInsensitive error:&error];
        if (!error) {
            NSRange range = [regExp rangeOfFirstMatchInString:urlAbsoluteString options:NSMatchingReportProgress range:NSMakeRange(0, urlAbsoluteString.length)];
            if (range.location != NSNotFound) {
                WXCallback callBack = self.schemesCallBacks[scheme];
                callBack(@{@"url": [request.URL absoluteString]});
                return NO;
            }
        } else {
            WXLog(@"created regExp error:  %@", error);
        }
    }
    return YES;
}
phpcn_u1582phpcn_u15822778 hari yang lalu761

membalas semua(1)saya akan balas

  • 天蓬老师

    天蓬老师2017-05-31 10:34:17

    Nilai yang disimpan dalam self.schemesCallBacks ialah WXCallback? Adalah disyorkan untuk mencuba WXKeepAliveCallback

    balas
    0
  • Batalbalas