flutter_inappwebview 动态 URL 更改

问题描述

我正在使用 Flutter_inappwebview 在 Flutter 应用程序中显示我的网站。

在我的应用程序中,当我单击抽屉菜单项时,会在一个抽屉菜单中更改 Flutter_inappwebview URL 并在 Flutter_inappwebview 中加载新 URL。

Drawer menu 和 Flutter_inappwebview 都在不同的页面

这可以在颤振中实现吗

这是我的 Flutter_inappwebview 代码

class homePage extends StatefulWidget {
  @override
  static const String routeName = '/homePage';
  _homePageState createState() => _homePageState();
}

class _homePageState extends State<homePage> {
  String url = "";
  double progress = 0;
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
    debugShowCheckedModeBanner:false,home: Scaffold(
      body: Container(
        child: Column(children: <Widget>[
          Container(
            padding: EdgeInsets.all(2.0),child: progress < 1.0
                ? LinearProgressIndicator(value: progress)
                : Container()),Expanded(
              child: Container(
              margin: const EdgeInsets.all(0.0),child: InAppWebView(
                initialUrl: selectedUrl,initialOptions: InAppWebViewGroupOptions(
                  crossplatform: InAppWebViewOptions(
                    debuggingEnabled: true,)
               ),onWebViewCreated: (InAppWebViewController controller) {
                 _webViewController = controller;
               },onLoadStart: (InAppWebViewController controller,String url) {
                 setState(() {
                   this.url = url;
                 });
               },onLoadStop: (InAppWebViewController controller,String url) async {
                 setState(() {
                   this.url = url;
                 });
               },onProgressChanged: (InAppWebViewController controller,int progress) {
                 setState(() {
                   this.progress = progress / 100;
                 });
               },),]),);

} }

解决方法

您可以通过以下代码监听 URL 更改。

InAppWebView(
        ...
        onUpdateVisitedHistory: (_,Uri uri,__) {
              // uri containts newly loaded url
        },}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...