flutter - flutter_inappwebview 动态 URL 变化
问题描述
我正在使用 flutter_inappwebview 在颤振应用程序中显示我的网站。
在我的应用程序一个抽屉菜单中,当我单击抽屉菜单项更改flutter_inappwebview URL 并在flutter_inappwebview 中加载新URL 时。
抽屉菜单和 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
},
}
推荐阅读
- swift - 将窗口移动到活动空间
- java - 如何使用 node-java 模块在 .js 文件中导入自己的 java 类?
- pyspark - 我需要计算 pyspark 中电影的平均收视率
- mongodb - MongoDB currentOp() 和 Cursor.explain() 显示相同查询的不同结果
- python - 为什么以下与 sklearn 预处理相关的 python 代码不起作用,我该如何调试它?
- serilog - Serilog:如何仅在文件开头写入文件头?
- python - 如何实时执行事件
- javascript - Index.html 脚本标记值在运行时被替换
- javascript - 基于数据库表ID获取数据的Javascript方法
- count - 在后聚合中使用不同计数时出现 Druid 错误