简体   繁体   English

如何在Flutter webview中操作HTML?

[英]How to manipulate HTML in Flutter webview?

I am load website with Flutter webview. But I want replace HTML element when it load.我用 Flutter webview 加载网站。但我想在加载时替换 HTML 元素。 For example:例如:

<span class="name">Replace text</span>

How to do?怎么做?

So, it depends what library you are using to load your webview.所以,这取决于你使用什么库来加载你的 webview。

I have had some good success using webview_flutter_plus ( https://pub.dev/packages/webview_flutter_plus ).我使用webview_flutter_plus ( https://pub.dev/packages/webview_flutter_plus ) 取得了一些成功。

With this, you just need to wait for your html to load and inject some javascript to modify whatever html you want.有了这个,你只需要等待你的 html 加载并注入一些 javascript 来修改你想要的任何 html。

Like this:像这样:

Widget build(BuildContext context) {
    return WebViewPlus(
        initialUrl: myUrl,
        javascriptMode: JavascriptMode.unrestricted,
        onWebViewCreated: (WebViewPlusController webViewController) {
            _webViewController = webViewController;
        },
        onPageFinished: (String url) {
            _webViewController.evaluateJavascript('document.querySelector(".name").innerHTML = "new text";');
        }
   }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM