ios - Mencipta komponen web baharu menggunakan kod WXWebComponent, masalah berikut berlaku
phpcn_u1582
phpcn_u1582 2017-05-31 10:32:17
0
1
747

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_u1582
phpcn_u1582

membalas semua(1)
Peter_Zhu

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan