首页 > 代码库 > iOS 混合开发 —— WebView 问题技巧

iOS 混合开发 —— WebView 问题技巧

 

1、图片太大

- (void)webViewDidFinishLoad:(UIWebView *)webView {
  NSString *js = @"function imgAutoFit() {      var imgs = document.getElementsByTagName(‘img‘);      for (var i = 0; i < imgs.length; ++i) {        var img = imgs[i];           img.style.maxWidth = %f;        }   }";
  js = [NSString stringWithFormat:js, [UIScreen mainScreen].bounds.size.width - 20];
  
  [webView stringByEvaluatingJavaScriptFromString:js];
  [webView stringByEvaluatingJavaScriptFromString:@"imgAutoFit()"];
}

  

2、内容高度

通过JS来获取高度:document.body.offsetHeight;

#pragma mark - UIWebViewDelegate
- (void)webViewDidFinishLoad:(UIWebView *)webView {
  CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];
  if (self.webViewHeight != height && self.count <= 3) {
    self.webViewHeight = height;
    self.count++;
    
    [self updateUI];
  }
}

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
  self.webViewHeight = webView.scrollView.contentSize.height;
  return YES;
}

  

 

iOS 混合开发 —— WebView 问题技巧