美文网首页
tableView中的webView是头视图或者尾视图获取并刷新

tableView中的webView是头视图或者尾视图获取并刷新

作者: ljzza | 来源:发表于2018-04-14 16:33 被阅读0次
    // 页面加载完成之后调用 此方法会调用多次
    - (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation {
        // 禁止放大缩小
        NSString *injectionJSString = @"var script = document.createElement('meta');"
        "script.name = 'viewport';"
        "script.content=\"width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no\";"
        "document.getElementsByTagName('head')[0].appendChild(script);";
        [webView evaluateJavaScript:injectionJSString completionHandler:nil];
        
        __block CGFloat webViewHeight;
    
        //document.body.scrollHeight
        //获取内容实际高度(像素)@"document.getElementById(\"content\").offsetHeight;"
        [webView evaluateJavaScript:@"document.body.scrollHeight" completionHandler:^(id _Nullable result,NSError * _Nullable error) {
            // 此处js字符串采用scrollHeight而不是offsetHeight是因为后者并获取不到高度,看参考资料说是对于加载html字符串的情况下使用后者可以(@"document.getElementById(\"content\").offsetHeight;"),但如果是和我一样直接加载原站内容使用前者更合适
            //获取页面高度,并重置webview的frame
            webViewHeight = [result doubleValue];
            webView.height = webViewHeight;
            [_tableView beginUpdates];
            [_tableView setTableFooterView:self.webView];
            [_tableView endUpdates];
            NSLog(@"%f",webViewHeight);
        }];
    }
    

    相关文章

      网友评论

          本文标题:tableView中的webView是头视图或者尾视图获取并刷新

          本文链接:https://www.haomeiwen.com/subject/hhqxhftx.html