我正在使用webview_flutter从我的 Flutter 应用程序上的 URL 查看页面,我需要做的是检测 HTML 代码何时发生更改而不更改 URL。因为有一些数据使用 JS 超时更改,我需要检查 HTML 并在它更改时从中获取一些数据,而无需使用任何
void Function(String)? onPageStarted,
void Function(String)? onPageFinished,
void Function(int)? onProgress,
因为页面没有重新加载或者 URL 没有改变,所以除了 HTML 代码之外一切都一样。这是 Web 视图的样子:
WebView(
gestureRecognizers: <
Factory<OneSequenceGestureRecognizer>>{
Factory<VerticalDragGestureRecognizer>(
() => VerticalDragGestureRecognizer()),
Factory<HorizontalDragGestureRecognizer>(
() => HorizontalDragGestureRecognizer()),
Factory<ScaleGestureRecognizer>(
() => ScaleGestureRecognizer()),
},
zoomEnabled: true,
debuggingEnabled: true,
initialUrl: controller.mapURL.value,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated:
(WebViewController webViewController) {
controller.mapWebViewController =
webViewController;
},
),
这是获取 HTML 内容的方法
var html = await controller.mapWebViewController!
.evaluateJavascript(
"window.document.getElementsByTagName('html')[0].outerHTML;");
print(HTML);