网上找了很多文章,都是 获取HTML高度,或者 getContentHeight() 返回的高度,直接赋值给 Container 的高度,但是都忘记了 * 缩放系数,记录一下。
InAppWebView
flutter_inappwebview: ^5.3.2
获取高度代码
//在onLoadStop 中调用 int? contentHeight = await _controller?.getContentHeight(); double? zoomScale = await _controller?.getZoomScale(); double htmlHeight = contentHeight!.toDouble() * zoomScale!; double htmlHeightFixed = double.parse(htmlHeight.toStringAsFixed(2)); if (htmlHeightFixed == 0.0) { return; setState(() { _htmlHeight = htmlHeightFixed + 0.1;
高度参数和缩放系数,也可以 通过evaluateJavascript获取:
//获取HTML高度 和 设备像素比 controller.evaluateJavascript(source: """ window.flutter_inappwebview.callHandler('InAppWebView',document.querySelector("html").offsetHeight,window.devicePixelRatio).then(function(result) { console.log(result); """); //监听调用返回 controller.addJavaScriptHandler(