WKWebView获取网页内容高度

    //实现代理WKNavigationDelegate

        webview.scrollView.isScrollEnabled=false

        let config=WKWebViewConfiguration.init()
        config.selectionGranularity = .dynamic
        config.allowsInlineMediaPlayback=false
        let preferencs=WKPreferences.init()
        preferencs.javaScriptEnabled=true
        preferencs.javaScriptCanOpenWindowsAutomatically=true
        config.preferences=preferencs
//        NSString *htmlString = @"<style>body{margin:0}</style><img src=store_bg.jpg width=\"100%\"/>";
        let str="<style>body{margin:0}</style><img src=\(commodity.productDescUrl[0]) width=\"100%\"/>"
        webview.loadHTMLString(str, baseURL: nil)//这里加载的是一个图片
        webview.navigationDelegate=self
 func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        var webheight = 0.0
              
              // 获取内容实际高度
              self.webview .evaluateJavaScript("document.body.scrollHeight") { [unowned self] (result, error) in
                  
                  if let tempHeight: Double = result as? Double {
                      webheight = tempHeight//这里是获取到内容高度
                      print("webheight: \(webheight)")
                  }
                  //更新高度
                  DispatchQueue.main.async { [unowned self] in
   
                    let height=webheight
                    webview.snp.makeConstraints { (make) in
                        make.height.equalTo(height)
                    }
                  }
              }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容