import 'package:get/get.dart'; import 'package:wallpaper/common/components/view_state_widget.dart'; import 'package:webview_flutter/webview_flutter.dart'; class WebPageController extends GetxController { var title = ''; var url = ''; late final WebViewController webViewController; var viewState = ViewState.loading.obs; @override void onInit() { super.onInit(); title = Get.arguments['title']; url = Get.arguments['url'] ?? 'https://flutter.cn'; webViewController = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..setBackgroundColor(Get.theme.scaffoldBackgroundColor) ..setNavigationDelegate( NavigationDelegate( onProgress: (int progress) { // Update loading bar. }, onPageStarted: (String url) {}, onPageFinished: (String url) { viewState.value = ViewState.normal; }, onWebResourceError: (WebResourceError error) { viewState.value = ViewState.error; }, onNavigationRequest: (NavigationRequest request) { return NavigationDecision.navigate; }, ), ) ..loadRequest(Uri.parse(url)); } }