Flutter WebView恢复状态

时间:2019-04-29 05:27:43

标签: flutter

嗨,当我单击主按钮时,我在主屏幕上有一个按钮。它将打开一个包含webview小部件的新页面。(例如,webview小部件的初始URL为google,因此它将打开google.com)。之后,我正在与该网页进行交互,然后单击“后退”按钮将带我进入主屏幕。如果现在单击该按钮,则要打开具有恢复交互作用的Webview。(例如,我单击该按钮后,我用google然后我在Google中搜索“计算机”,它会向我显示结果。现在,单击“后退”按钮将带我进入主屏幕。再次,现在我单击主屏幕按钮将不得不打开包含计算机搜索结果的网络视图。) ....哦。而且我发现了一种方法OnUrlChanged.listen()...但是我不知道确切地放在哪里?

1 个答案:

答案 0 :(得分:0)

声明变量

final flutterWebviewPlugin = FlutterWebviewPlugin();
String oldUrl;

...

@override
Widget build(BuildContext context) {

flutterWebviewPlugin.onUrlChanged.listen((String url) {
oldUrl = url;} //You might have to use async here
.....

...

在您的WebView类中

return SafeArea(
          child: WebviewScaffold(
            url: oldURl==null? "www.google.com" : oldUrl ))

我假设您将有一个MaterialPageRoute可以从您的按钮导航至Webview。 您可以使用网址参数创建class,并在其中相应地传递oldUrl或“ google.com”作为参数。