import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:managerapi/api.dart'; import 'package:webview_flutter/webview_flutter.dart'; class WebViewWidget extends StatefulWidget { final SectionDTO section; WebViewWidget({this.section}); @override _WebViewWidget createState() => _WebViewWidget(); } class _WebViewWidget extends State { WebView _webView; WebDTO webDTO; @override void initState() { print(widget.section.data); webDTO = WebDTO.fromJson(jsonDecode(widget.section.data)); print(webDTO); super.initState(); _webView = WebView( initialUrl: webDTO.source_, //"https://my.matterport.com/show/?m=k8bvdezfHbT" javascriptMode: JavascriptMode.unrestricted, navigationDelegate: (NavigationRequest request) { print(request.url); print(webDTO.source_); if (request.url != webDTO.source_) { print('blocking navigation to $request}'); return NavigationDecision.prevent; } print('allowing navigation to $request'); return NavigationDecision.navigate; } ); } @override void dispose() { _webView = null; super.dispose(); } @override Widget build(BuildContext context) => _webView; }