问题描述
我正在使用 Flutter_inappwebview 在 Flutter 应用程序中显示我的网站。
在我的应用程序中,当我单击抽屉菜单项时,会在一个抽屉菜单中更改 Flutter_inappwebview URL 并在 Flutter_inappwebview 中加载新 URL。
Drawer menu 和 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
},}