要让 `webview_flutter` 每次打开都是新的网页,可以通过设置 `WebView` 的 `initialUrl` 属性来实现。具体来说,可以在每次打开 `WebView` 之前,将 `initialUrl` 设置为需要加载的网址,这样就能保证每次打开都是新的网页。
另外,如果想禁用 `WebView` 的缓存功能,可以使用 `WebSettings` 中的 `cacheMode` 属性来实现。具体来说,可以将 `cacheMode` 设置为 `CacheMode.noCache`,这样就能禁用缓存功能,从而保证每次打开 `WebView` 都是新的网页。
以下是一个示例代码:
```dart
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class MyWebView extends StatefulWidget {
final String url;
MyWebView({required this.url});
@override
_MyWebViewState createState() => _MyWebViewState();
}
class _MyWebViewState extends State {
late WebViewController _controller;
@override
Widget build(BuildContext context) {
return Scaffold(
body: WebView(
initialUrl: widget.url,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller = webViewController;
_controller.clearCache(); // 清除缓存
},
),
);
}
}
```
在上面的代码中,我们在 `onWebViewCreated` 回调函数中获取了 `WebViewController`,并将其保存到 `_controller` 变量中。然后,我们调用了 `_controller.clearCache()` 方法来清除缓存。这样,每次打开 `WebView` 都会清除缓存,并加载新的网页。