0

我正在使用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);

4

0 回答 0