I have a WebView
page with multiple links. By clicking the links it will open another WebView
page with a close button. If I click the close button, the current window should close and WebView
page should not reload. I tried using onPressed: () => Navigator.of(context).pop()
but it shows WebView
page as empty. Please help to resolve this.
class Leader extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( body: Stack( children: [ WebView( initialUrl: 'web view url', javascriptMode: JavascriptMode.unrestricted, navigationDelegate: (NavigationRequest request) { print(request.url); var url = request.url; Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => WebView2(urlVal: url))); return NavigationDecision.navigate; }, ), ] ), ); } } class WebView2 extends StatefulWidget { final String urlVal; WebView2({Key key, @required this.urlVal}) : super(key: key); @override _WebView2State createState() => _WebView2State(); } class _WebView2State extends State { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Stack( children: [ SimplePdfViewerWidget( completeCallback: (bool result){ print("completeCallback,result:${result}"); }, initialUrl: widget.urlVal, ), Align( alignment: Alignment.bottomCenter, child: SizedBox( width: 330, child: RaisedButton( onPressed: () => Navigator.of(context).pop(), child: const Text('Close', style:TextStyle(fontSize:20)), textColor: Colors.white, color: Colors.blue, elevation: 5 ), ) ) ] ) ), ); } }